pdk 2.6.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -1
  3. data/lib/pdk/analytics/client/google_analytics.rb +4 -2
  4. data/lib/pdk/cli/build.rb +17 -21
  5. data/lib/pdk/cli/bundle.rb +4 -5
  6. data/lib/pdk/cli/config/get.rb +6 -6
  7. data/lib/pdk/cli/config.rb +3 -3
  8. data/lib/pdk/cli/console.rb +7 -7
  9. data/lib/pdk/cli/convert.rb +11 -11
  10. data/lib/pdk/cli/env.rb +3 -4
  11. data/lib/pdk/cli/errors.rb +1 -1
  12. data/lib/pdk/cli/exec/command.rb +12 -14
  13. data/lib/pdk/cli/exec/interactive_command.rb +11 -11
  14. data/lib/pdk/cli/exec.rb +4 -4
  15. data/lib/pdk/cli/exec_group.rb +1 -3
  16. data/lib/pdk/cli/get/config.rb +5 -5
  17. data/lib/pdk/cli/get.rb +2 -2
  18. data/lib/pdk/cli/module/build.rb +3 -3
  19. data/lib/pdk/cli/module/generate.rb +4 -4
  20. data/lib/pdk/cli/module.rb +3 -3
  21. data/lib/pdk/cli/new/class.rb +4 -4
  22. data/lib/pdk/cli/new/defined_type.rb +4 -4
  23. data/lib/pdk/cli/new/fact.rb +3 -3
  24. data/lib/pdk/cli/new/function.rb +4 -4
  25. data/lib/pdk/cli/new/module.rb +10 -11
  26. data/lib/pdk/cli/new/provider.rb +3 -3
  27. data/lib/pdk/cli/new/task.rb +5 -5
  28. data/lib/pdk/cli/new/test.rb +7 -7
  29. data/lib/pdk/cli/new/transport.rb +3 -3
  30. data/lib/pdk/cli/new.rb +3 -3
  31. data/lib/pdk/cli/release/prep.rb +9 -9
  32. data/lib/pdk/cli/release/publish.rb +7 -11
  33. data/lib/pdk/cli/release.rb +35 -39
  34. data/lib/pdk/cli/remove/config.rb +15 -15
  35. data/lib/pdk/cli/remove.rb +2 -2
  36. data/lib/pdk/cli/set/config.rb +16 -16
  37. data/lib/pdk/cli/set.rb +2 -2
  38. data/lib/pdk/cli/test/unit.rb +13 -13
  39. data/lib/pdk/cli/test.rb +2 -2
  40. data/lib/pdk/cli/update.rb +19 -29
  41. data/lib/pdk/cli/util/command_redirector.rb +1 -1
  42. data/lib/pdk/cli/util/interview.rb +4 -4
  43. data/lib/pdk/cli/util/option_normalizer.rb +2 -2
  44. data/lib/pdk/cli/util/option_validator.rb +1 -1
  45. data/lib/pdk/cli/util.rb +19 -20
  46. data/lib/pdk/cli/validate.rb +16 -18
  47. data/lib/pdk/cli.rb +16 -33
  48. data/lib/pdk/config/ini_file_setting.rb +2 -2
  49. data/lib/pdk/config/json_schema_namespace.rb +3 -3
  50. data/lib/pdk/config/json_schema_setting.rb +1 -1
  51. data/lib/pdk/config/json_with_schema.rb +1 -1
  52. data/lib/pdk/config/namespace.rb +4 -4
  53. data/lib/pdk/config/setting.rb +5 -5
  54. data/lib/pdk/config/validator.rb +2 -2
  55. data/lib/pdk/config/yaml.rb +2 -2
  56. data/lib/pdk/config/yaml_with_schema.rb +3 -3
  57. data/lib/pdk/config.rb +18 -20
  58. data/lib/pdk/context/control_repo.rb +1 -1
  59. data/lib/pdk/context/module.rb +1 -1
  60. data/lib/pdk/context/none.rb +1 -1
  61. data/lib/pdk/generate/module.rb +52 -64
  62. data/lib/pdk/generate/puppet_object.rb +6 -6
  63. data/lib/pdk/generate/task.rb +1 -1
  64. data/lib/pdk/module/build.rb +11 -16
  65. data/lib/pdk/module/convert.rb +14 -16
  66. data/lib/pdk/module/metadata.rb +12 -12
  67. data/lib/pdk/module/release.rb +20 -19
  68. data/lib/pdk/module/update.rb +5 -5
  69. data/lib/pdk/module/update_manager.rb +6 -6
  70. data/lib/pdk/report/event.rb +11 -11
  71. data/lib/pdk/template/fetcher/git.rb +4 -4
  72. data/lib/pdk/template/fetcher.rb +1 -1
  73. data/lib/pdk/template/renderer/v1/legacy_template_dir.rb +1 -1
  74. data/lib/pdk/template/renderer/v1/renderer.rb +5 -7
  75. data/lib/pdk/template/renderer/v1/template_file.rb +3 -1
  76. data/lib/pdk/template/template_dir.rb +1 -1
  77. data/lib/pdk/template.rb +2 -2
  78. data/lib/pdk/tests/unit.rb +12 -12
  79. data/lib/pdk/util/bundler.rb +14 -14
  80. data/lib/pdk/util/changelog_generator.rb +6 -8
  81. data/lib/pdk/util/filesystem.rb +2 -2
  82. data/lib/pdk/util/git.rb +5 -5
  83. data/lib/pdk/util/puppet_strings.rb +2 -2
  84. data/lib/pdk/util/puppet_version.rb +24 -17
  85. data/lib/pdk/util/ruby_version.rb +2 -5
  86. data/lib/pdk/util/template_uri.rb +8 -8
  87. data/lib/pdk/util/vendored_file.rb +3 -3
  88. data/lib/pdk/util/windows/api_types.rb +3 -4
  89. data/lib/pdk/util/windows/file.rb +1 -1
  90. data/lib/pdk/util/windows/process.rb +5 -8
  91. data/lib/pdk/util.rb +2 -2
  92. data/lib/pdk/validate/control_repo/environment_conf_validator.rb +5 -5
  93. data/lib/pdk/validate/invokable_validator.rb +6 -6
  94. data/lib/pdk/validate/metadata/metadata_json_lint_validator.rb +2 -2
  95. data/lib/pdk/validate/metadata/metadata_syntax_validator.rb +2 -2
  96. data/lib/pdk/validate/puppet/puppet_epp_validator.rb +1 -1
  97. data/lib/pdk/validate/puppet/puppet_lint_validator.rb +1 -1
  98. data/lib/pdk/validate/puppet/puppet_plan_syntax_validator.rb +38 -0
  99. data/lib/pdk/validate/puppet/puppet_syntax_validator.rb +1 -1
  100. data/lib/pdk/validate/puppet/puppet_validator_group.rb +1 -0
  101. data/lib/pdk/validate/ruby/ruby_rubocop_validator.rb +1 -1
  102. data/lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb +4 -4
  103. data/lib/pdk/validate/tasks/tasks_name_validator.rb +2 -5
  104. data/lib/pdk/validate/validator.rb +1 -1
  105. data/lib/pdk/validate/validator_group.rb +1 -1
  106. data/lib/pdk/validate/yaml/yaml_syntax_validator.rb +4 -4
  107. data/lib/pdk/validate.rb +2 -1
  108. data/lib/pdk/version.rb +2 -2
  109. data/lib/pdk.rb +0 -2
  110. metadata +32 -54
  111. data/lib/pdk/i18n.rb +0 -4
  112. data/locales/config.yaml +0 -21
  113. data/locales/pdk.pot +0 -2111
@@ -1,4 +1,5 @@
1
1
  require 'pdk'
2
+ require 'uri'
2
3
 
3
4
  module PDK
4
5
  module Module
@@ -16,21 +17,21 @@ module PDK
16
17
 
17
18
  # TODO: Currently the release process can ONLY be run if the working directory IS the module root. However, in the future
18
19
  # this WILL change, so we have the API arguments for it, but only accept `nil` for the first parameter
19
- raise PDK::CLI::ExitWithError, _('Running the release process outside of the working directory is not supported') unless module_path.nil?
20
+ raise PDK::CLI::ExitWithError, 'Running the release process outside of the working directory is not supported' unless module_path.nil?
20
21
 
21
22
  if module_path.nil?
22
23
  module_path = PDK::Util.module_root
23
- raise PDK::CLI::ExitWithError, _('The module release process requires a valid module path') % { module_path: module_path } if module_path.nil?
24
+ raise PDK::CLI::ExitWithError, 'The module release process requires a valid module path' % { module_path: module_path } if module_path.nil?
24
25
  end
25
- raise PDK::CLI::ExitWithError, _('%{module_path} is not a valid module') % { module_path: module_path } unless PDK::Util.in_module_root?(module_path)
26
+ raise PDK::CLI::ExitWithError, '%{module_path} is not a valid module' % { module_path: module_path } unless PDK::Util.in_module_root?(module_path)
26
27
  @module_path = module_path
27
28
  end
28
29
 
29
30
  def run
30
31
  # Pre-release checks
31
32
  unless force?
32
- raise PDK::CLI::ExitWithError, _('The module is not PDK compatible') if requires_pdk_compatibility? && !pdk_compatible?
33
- raise PDK::CLI::ExitWithError, _('The module is not Forge compatible') if requires_forge_compatibility? && !forge_compatible?
33
+ raise PDK::CLI::ExitWithError, 'The module is not PDK compatible' if requires_pdk_compatibility? && !pdk_compatible?
34
+ raise PDK::CLI::ExitWithError, 'The module is not Forge compatible' if requires_forge_compatibility? && !forge_compatible?
34
35
  end
35
36
 
36
37
  # Note that these checks are duplicated in the run_publish method, however it's a much better
@@ -40,7 +41,7 @@ module PDK
40
41
 
41
42
  run_validations(options) unless skip_validation?
42
43
 
43
- PDK.logger.info _('Releasing %{module_name} - from version %{module_version}') % {
44
+ PDK.logger.info 'Releasing %{module_name} - from version %{module_version}' % {
44
45
  module_name: module_metadata.data['name'],
45
46
  module_version: module_metadata.data['version'],
46
47
  }
@@ -55,7 +56,7 @@ module PDK
55
56
  new_version = module_metadata.data['version'] if new_version.nil?
56
57
 
57
58
  if new_version != module_metadata.data['version']
58
- PDK.logger.info _('Updating version to %{module_version}') % {
59
+ PDK.logger.info 'Updating version to %{module_version}' % {
59
60
  module_version: new_version,
60
61
  }
61
62
 
@@ -69,7 +70,7 @@ module PDK
69
70
  # Check if the versions match
70
71
  latest_version = PDK::Util::ChangelogGenerator.latest_version
71
72
  unless latest_version
72
- raise PDK::CLI::ExitWithError, _('%{new_version} does not match %{latest_version}') % { new_version: new_version, latest_version: latest_version } if new_version != latest_version
73
+ raise PDK::CLI::ExitWithError, '%{new_version} does not match %{latest_version}' % { new_version: new_version, latest_version: latest_version } if new_version != latest_version
73
74
  end
74
75
  end
75
76
 
@@ -118,26 +119,26 @@ module PDK
118
119
  PDK::Util::Bundler.ensure_bundle!(puppet_env[:gemset])
119
120
 
120
121
  validator_exit_code, = PDK::Validate.invoke_validators_by_name(PDK.context, PDK::Validate.validator_names, false, options)
121
- raise PDK::CLI::ExitWithError, _('An error occured during validation') unless validator_exit_code.zero?
122
+ raise PDK::CLI::ExitWithError, 'An error occured during validation' unless validator_exit_code.zero?
122
123
  end
123
124
 
124
125
  def run_documentation(_opts)
125
- PDK.logger.info _('Updating documentation using puppet strings')
126
+ PDK.logger.info 'Updating documentation using puppet strings'
126
127
  docs_command = PDK::CLI::Exec::InteractiveCommand.new(PDK::CLI::Exec.bundle_bin, 'exec', 'puppet', 'strings', 'generate', '--format', 'markdown', '--out', 'REFERENCE.md')
127
128
  docs_command.context = :module
128
129
  result = docs_command.execute!
129
- raise PDK::CLI::ExitWithError, _('An error occured generating the module documentation: %{stdout}') % { stdout: result[:stdout] } unless result[:exit_code].zero?
130
+ raise PDK::CLI::ExitWithError, 'An error occured generating the module documentation: %{stdout}' % { stdout: result[:stdout] } unless result[:exit_code].zero?
130
131
  end
131
132
 
132
133
  def run_dependency_checker(_opts)
133
134
  # run dependency-checker and output dependent modules list
134
- PDK.logger.info _('Running dependency checks')
135
+ PDK.logger.info 'Running dependency checks'
135
136
 
136
137
  dep_command = PDK::CLI::Exec::Command.new('dependency-checker', 'metadata.json')
137
138
  dep_command.context = :module
138
139
  result = dep_command.execute!
139
140
 
140
- raise PDK::CLI::ExitWithError, _('An error occured checking the module dependencies: %{stdout}') % { stdout: result[:stdout] } unless result[:exit_code].zero?
141
+ raise PDK::CLI::ExitWithError, 'An error occured checking the module dependencies: %{stdout}' % { stdout: result[:stdout] } unless result[:exit_code].zero?
141
142
  end
142
143
 
143
144
  # @return [String] Path to the built tarball
@@ -147,13 +148,13 @@ module PDK
147
148
 
148
149
  def run_publish(_opts, tarball_path)
149
150
  validate_publish_options!
150
- raise PDK::CLI::ExitWithError, _('Module tarball %{tarball_path} does not exist') % { tarball_path: tarball_path } unless PDK::Util::Filesystem.file?(tarball_path)
151
+ raise PDK::CLI::ExitWithError, 'Module tarball %{tarball_path} does not exist' % { tarball_path: tarball_path } unless PDK::Util::Filesystem.file?(tarball_path)
151
152
 
152
153
  # TODO: Replace this code when the upload functionality is added to the forge ruby gem
153
154
  require 'base64'
154
155
  file_data = Base64.encode64(PDK::Util::Filesystem.read_file(tarball_path, open_args: 'rb'))
155
156
 
156
- PDK.logger.info _('Uploading tarball to puppet forge...')
157
+ PDK.logger.info 'Uploading tarball to puppet forge...'
157
158
  uri = URI(forge_upload_url)
158
159
  require 'net/http'
159
160
  request = Net::HTTP::Post.new(uri.path)
@@ -169,14 +170,14 @@ module PDK
169
170
  http.request(request)
170
171
  end
171
172
 
172
- raise PDK::CLI::ExitWithError, _('Error uploading to Puppet Forge: %{result}') % { result: response.body } unless response.is_a?(Net::HTTPSuccess)
173
- PDK.logger.info _('Publish to Forge was successful')
173
+ raise PDK::CLI::ExitWithError, 'Error uploading to Puppet Forge: %{result}' % { result: response.body } unless response.is_a?(Net::HTTPSuccess)
174
+ PDK.logger.info 'Publish to Forge was successful'
174
175
  end
175
176
 
176
177
  def validate_publish_options!
177
178
  return if skip_publish?
178
- raise PDK::CLI::ExitWithError, _('Missing forge-upload-url option') unless forge_upload_url
179
- raise PDK::CLI::ExitWithError, _('Missing forge-token option') unless forge_token
179
+ raise PDK::CLI::ExitWithError, 'Missing forge-upload-url option' unless forge_upload_url
180
+ raise PDK::CLI::ExitWithError, 'Missing forge-token option' unless forge_token
180
181
  end
181
182
 
182
183
  def force?
@@ -11,13 +11,13 @@ module PDK
11
11
  stage_changes!
12
12
 
13
13
  if current_version == new_version
14
- PDK.logger.debug _('This module is already up to date with version %{version} of the template.') % {
14
+ PDK.logger.debug 'This module is already up to date with version %{version} of the template.' % {
15
15
  version: new_version,
16
16
  }
17
17
  end
18
18
 
19
19
  unless update_manager.changes?
20
- PDK::Report.default_target.puts(_('No changes required.'))
20
+ PDK::Report.default_target.puts('No changes required.')
21
21
  return
22
22
  end
23
23
 
@@ -29,7 +29,7 @@ module PDK
29
29
  return if noop?
30
30
 
31
31
  unless force?
32
- message = _('Do you want to continue and make these changes to your module?')
32
+ message = 'Do you want to continue and make these changes to your module?'
33
33
  return unless PDK::CLI::Util.prompt_for_yes(message)
34
34
  end
35
35
 
@@ -114,9 +114,9 @@ module PDK
114
114
 
115
115
  def update_message
116
116
  format_string = if template_uri.default?
117
- _('Updating %{module_name} using the default template, from %{current_version} to %{new_version}')
117
+ 'Updating %{module_name} using the default template, from %{current_version} to %{new_version}'
118
118
  else
119
- _('Updating %{module_name} using the template at %{template_url}, from %{current_version} to %{new_version}')
119
+ 'Updating %{module_name} using the template at %{template_url}, from %{current_version} to %{new_version}'
120
120
  end
121
121
 
122
122
  format_string % {
@@ -115,13 +115,13 @@ module PDK
115
115
  require 'pdk/util/filesystem'
116
116
 
117
117
  if PDK::Util::Filesystem.file?(path)
118
- PDK.logger.debug(_("unlinking '%{path}'") % { path: path })
118
+ PDK.logger.debug("unlinking '%{path}'" % { path: path })
119
119
  PDK::Util::Filesystem.rm(path)
120
120
  else
121
- PDK.logger.debug(_("'%{path}': already gone") % { path: path })
121
+ PDK.logger.debug("'%{path}': already gone" % { path: path })
122
122
  end
123
123
  rescue => e
124
- raise PDK::CLI::ExitWithError, _("Unable to remove '%{path}': %{message}") % {
124
+ raise PDK::CLI::ExitWithError, "Unable to remove '%{path}': %{message}" % {
125
125
  path: path,
126
126
  message: e.message,
127
127
  }
@@ -141,7 +141,7 @@ module PDK
141
141
  next if @diff_cache.key?(file[:path])
142
142
 
143
143
  unless PDK::Util::Filesystem.readable?(file[:path])
144
- raise PDK::CLI::ExitWithError, _("Unable to open '%{path}' for reading") % { path: file[:path] }
144
+ raise PDK::CLI::ExitWithError, "Unable to open '%{path}' for reading" % { path: file[:path] }
145
145
  end
146
146
 
147
147
  old_content = PDK::Util::Filesystem.read_file(file[:path])
@@ -160,10 +160,10 @@ module PDK
160
160
  require 'pdk/util/filesystem'
161
161
 
162
162
  PDK::Util::Filesystem.mkdir_p(File.dirname(path))
163
- PDK.logger.debug(_("writing '%{path}'") % { path: path })
163
+ PDK.logger.debug("writing '%{path}'" % { path: path })
164
164
  PDK::Util::Filesystem.write_file(path, content)
165
165
  rescue Errno::EACCES
166
- raise PDK::CLI::ExitWithError, _("You do not have permission to write to '%{path}'") % { path: path }
166
+ raise PDK::CLI::ExitWithError, "You do not have permission to write to '%{path}'" % { path: path }
167
167
  end
168
168
 
169
169
  # Generate a unified diff of the changes to be made to a file.
@@ -195,11 +195,11 @@ module PDK
195
195
  # a String.
196
196
  def sanitise_file(value)
197
197
  if value.nil? || (value.is_a?(String) && value.empty?)
198
- raise ArgumentError, _('File not specified.')
198
+ raise ArgumentError, 'File not specified.'
199
199
  end
200
200
 
201
201
  unless value.is_a?(String)
202
- raise ArgumentError, _('File must be a String.')
202
+ raise ArgumentError, 'File must be a String.'
203
203
  end
204
204
 
205
205
  require 'pathname'
@@ -235,17 +235,17 @@ module PDK
235
235
  # a String or Symbol representation of a valid state.
236
236
  def sanitise_state(value)
237
237
  if value.nil? || (value.is_a?(String) && value.empty?)
238
- raise ArgumentError, _('State not specified.')
238
+ raise ArgumentError, 'State not specified.'
239
239
  end
240
240
 
241
241
  value = value.to_sym if value.is_a?(String)
242
242
  unless value.is_a?(Symbol)
243
- raise ArgumentError, _('State must be a Symbol, not %{type}') % { type: value.class }
243
+ raise ArgumentError, 'State must be a Symbol, not %{type}' % { type: value.class }
244
244
  end
245
245
 
246
246
  valid_states = [:passed, :error, :failure, :skipped]
247
247
  unless valid_states.include?(value)
248
- raise ArgumentError, _('Invalid state %{state}. Valid states are: %{valid}.') % {
248
+ raise ArgumentError, 'Invalid state %{state}. Valid states are: %{valid}.' % {
249
249
  state: value.inspect,
250
250
  valid: valid_states.map(&:inspect).join(', '),
251
251
  }
@@ -264,7 +264,7 @@ module PDK
264
264
  # @raise [ArgumentError] if the value is nil or an empty String.
265
265
  def sanitise_source(value)
266
266
  if value.nil? || (value.is_a?(String) && value.empty?)
267
- raise ArgumentError, _('Source not specified.')
267
+ raise ArgumentError, 'Source not specified.'
268
268
  end
269
269
 
270
270
  value.to_s
@@ -285,11 +285,11 @@ module PDK
285
285
  end
286
286
 
287
287
  unless valid_types.include?(value.class)
288
- raise ArgumentError, _('Line must be an Integer or a String representation of an Integer.')
288
+ raise ArgumentError, 'Line must be an Integer or a String representation of an Integer.'
289
289
  end
290
290
 
291
291
  if value.is_a?(String) && value !~ %r{\A[0-9]+\Z}
292
- raise ArgumentError, _('The line number can contain only the digits 0-9.')
292
+ raise ArgumentError, 'The line number can contain only the digits 0-9.'
293
293
  end
294
294
 
295
295
  value.to_i
@@ -310,11 +310,11 @@ module PDK
310
310
  end
311
311
 
312
312
  unless valid_types.include?(value.class)
313
- raise ArgumentError, _('Column must be an Integer or a String representation of an Integer.')
313
+ raise ArgumentError, 'Column must be an Integer or a String representation of an Integer.'
314
314
  end
315
315
 
316
316
  if value.is_a?(String) && value !~ %r{\A[0-9]+\Z}
317
- raise ArgumentError, _('The column number can contain only the digits 0-9.')
317
+ raise ArgumentError, 'The column number can contain only the digits 0-9.'
318
318
  end
319
319
 
320
320
  value.to_i
@@ -332,7 +332,7 @@ module PDK
332
332
  valid_types = [Array]
333
333
 
334
334
  unless valid_types.include?(value.class)
335
- raise ArgumentError, _('Trace must be an Array of stack trace lines.')
335
+ raise ArgumentError, 'Trace must be an Array of stack trace lines.'
336
336
  end
337
337
 
338
338
  # Drop any stacktrace lines that include '/gems/' in the path or
@@ -22,7 +22,7 @@ module PDK
22
22
  # We don't do a checkout of local-path repos. There are lots of edge
23
23
  # cases or user un-expectations.
24
24
  if PDK::Util::Git.work_tree?(uri.shell_path)
25
- PDK.logger.warn _("Repository '%{repo}' has a work-tree; skipping git reset.") % {
25
+ PDK.logger.warn "Repository '%{repo}' has a work-tree; skipping git reset." % {
26
26
  repo: uri.shell_path,
27
27
  }
28
28
  @path = uri.shell_path
@@ -49,7 +49,7 @@ module PDK
49
49
  unless clone_result[:exit_code].zero?
50
50
  PDK.logger.error clone_result[:stdout]
51
51
  PDK.logger.error clone_result[:stderr]
52
- raise PDK::CLI::FatalError, _("Unable to clone git repository at '%{repo}' into '%{dest}'.") % { repo: origin_repo, dest: temp_dir }
52
+ raise PDK::CLI::FatalError, "Unable to clone git repository at '%{repo}' into '%{dest}'." % { repo: origin_repo, dest: temp_dir }
53
53
  end
54
54
  @path = PDK::Util.canonical_path(temp_dir)
55
55
 
@@ -63,10 +63,10 @@ module PDK
63
63
 
64
64
  PDK.logger.error reset_result[:stdout]
65
65
  PDK.logger.error reset_result[:stderr]
66
- raise PDK::CLI::FatalError, _("Unable to checkout '%{ref}' of git repository at '%{path}'.") % { ref: git_ref, path: temp_dir }
66
+ raise PDK::CLI::FatalError, "Unable to checkout '%{ref}' of git repository at '%{path}'." % { ref: git_ref, path: temp_dir }
67
67
  end
68
68
  else
69
- PDK.logger.warn _("Uncommitted changes found when attempting to checkout '%{ref}' of git repository at '%{path}'; skipping git reset.") % { ref: git_ref, path: temp_dir }
69
+ PDK.logger.warn "Uncommitted changes found when attempting to checkout '%{ref}' of git repository at '%{path}'; skipping git reset." % { ref: git_ref, path: temp_dir }
70
70
  @metadata['template-ref'] = describe_path_and_ref(temp_dir)
71
71
  end
72
72
  end
@@ -35,7 +35,7 @@ module PDK
35
35
  # @raise [ArgumentError] If no block is given to this method.
36
36
  # @return [void]
37
37
  def self.with(uri, options = {})
38
- raise ArgumentError, _('%{class_name}.with must be passed a block.') % { class_name: name } unless block_given?
38
+ raise ArgumentError, '%{class_name}.with must be passed a block.' % { class_name: name } unless block_given?
39
39
  fetcher = instance(uri, options)
40
40
 
41
41
  begin
@@ -93,7 +93,7 @@ module PDK
93
93
  begin
94
94
  YAML.safe_load(PDK::Util::Filesystem.read_file(loc), [], [], true)
95
95
  rescue Psych::SyntaxError => e
96
- PDK.logger.warn _("'%{file}' is not a valid YAML file: %{problem} %{context} at line %{line} column %{column}") % {
96
+ PDK.logger.warn "'%{file}' is not a valid YAML file: %{problem} %{context} at line %{line} column %{column}" % {
97
97
  file: loc,
98
98
  problem: e.problem,
99
99
  context: e.context,
@@ -21,7 +21,7 @@ module PDK
21
21
  template_file = single_item_path(relative_file_path)
22
22
  return nil unless PDK::Util::Filesystem.file?(template_file) && PDK::Util::Filesystem.readable?(template_file)
23
23
 
24
- PDK.logger.debug(_("Rendering '%{template}'...") % { template: template_file })
24
+ PDK.logger.debug("Rendering '%{template}'..." % { template: template_file })
25
25
  new_template_file(template_file, template_data_hash).render
26
26
  end
27
27
 
@@ -71,7 +71,7 @@ module PDK
71
71
 
72
72
  files_in_template(dirs).each do |template_file, template_loc|
73
73
  template_file = template_file.to_s
74
- PDK.logger.debug(_("Rendering '%{template}'...") % { template: template_file })
74
+ PDK.logger.debug("Rendering '%{template}'..." % { template: template_file })
75
75
  dest_path = template_file.sub(%r{\.erb\Z}, '')
76
76
  config = legacy_template_dir.config_for(dest_path)
77
77
 
@@ -89,10 +89,8 @@ module PDK
89
89
  begin
90
90
  dest_content = new_template_file(File.join(template_loc, template_file), configs: config, template_dir: legacy_template_dir).render
91
91
  rescue => error
92
- error_msg = _(
93
- "Failed to render template '%{template}'\n" \
94
- '%{exception}: %{message}',
95
- ) % { template: template_file, exception: error.class, message: error.message }
92
+ error_msg = "Failed to render template '%{template}'\n" \
93
+ '%{exception}: %{message}' % { template: template_file, exception: error.class, message: error.message }
96
94
  raise PDK::CLI::FatalError, error_msg
97
95
  end
98
96
  end
@@ -113,7 +111,7 @@ module PDK
113
111
  temp_paths = []
114
112
  dirlocs = []
115
113
  dirs.each do |dir|
116
- raise ArgumentError, _("The directory '%{dir}' doesn't exist") % { dir: dir } unless PDK::Util::Filesystem.directory?(dir)
114
+ raise ArgumentError, "The directory '%{dir}' doesn't exist" % { dir: dir } unless PDK::Util::Filesystem.directory?(dir)
117
115
  temp_paths += PDK::Util::Filesystem.glob(File.join(dir, *glob_suffix), File::FNM_DOTMATCH).select do |template_path|
118
116
  if PDK::Util::Filesystem.file?(template_path) && !PDK::Util::Filesystem.symlink?(template_path)
119
117
  dirlocs << dir
@@ -69,7 +69,7 @@ module PDK
69
69
  return PDK::Util::Filesystem.read_file(@template_file)
70
70
  end
71
71
 
72
- raise ArgumentError, _("'%{template}' is not a readable file") % { template: @template_file }
72
+ raise ArgumentError, "'%{template}' is not a readable file" % { template: @template_file }
73
73
  end
74
74
 
75
75
  # Renders the content of the template file as an ERB template.
@@ -80,6 +80,8 @@ module PDK
80
80
  #
81
81
  # @api private
82
82
  def render_erb
83
+ require 'erb'
84
+
83
85
  renderer = ERB.new(template_content, nil, '-')
84
86
  renderer.filename = @template_file
85
87
  renderer.result(binding)
@@ -36,7 +36,7 @@ module PDK
36
36
  @metadata = {}
37
37
 
38
38
  @renderer = renderer.nil? ? Renderer.instance(uri, path, context) : renderer
39
- raise _('Could not find a compatible template renderer for %{path}') % { path: path } if @renderer.nil?
39
+ raise 'Could not find a compatible template renderer for %{path}' % { path: path } if @renderer.nil?
40
40
  end
41
41
 
42
42
  # Later additions may include Control Repo rendering, for example
data/lib/pdk/template.rb CHANGED
@@ -38,10 +38,10 @@ module PDK
38
38
  # @api public
39
39
  def self.with(uri, context)
40
40
  unless block_given?
41
- raise ArgumentError, _('%{class_name}.with must be passed a block.') % { class_name: name }
41
+ raise ArgumentError, '%{class_name}.with must be passed a block.' % { class_name: name }
42
42
  end
43
43
  unless uri.is_a? PDK::Util::TemplateURI
44
- raise ArgumentError, _('%{class_name}.with must be passed a PDK::Util::TemplateURI, got a %{uri_type}') % { uri_type: uri.class, class_name: name }
44
+ raise ArgumentError, '%{class_name}.with must be passed a PDK::Util::TemplateURI, got a %{uri_type}' % { uri_type: uri.class, class_name: name }
45
45
  end
46
46
 
47
47
  Fetcher.with(uri) do |fetcher|
@@ -61,23 +61,23 @@ module PDK
61
61
  end
62
62
 
63
63
  def self.tear_down
64
- result = rake('spec_clean', _('Cleaning up after running unit tests.'))
64
+ result = rake('spec_clean', 'Cleaning up after running unit tests.')
65
65
 
66
66
  return if result[:exit_code].zero?
67
67
 
68
- PDK.logger.error(_('The spec_clean rake task failed with the following error(s):'))
69
- print_failure(result, _('Failed to clean up after running unit tests'))
68
+ PDK.logger.error('The spec_clean rake task failed with the following error(s):')
69
+ print_failure(result, 'Failed to clean up after running unit tests')
70
70
  end
71
71
 
72
72
  def self.setup
73
- result = rake('spec_prep', _('Preparing to run the unit tests.'))
73
+ result = rake('spec_prep', 'Preparing to run the unit tests.')
74
74
 
75
75
  return if result[:exit_code].zero?
76
76
 
77
77
  tear_down
78
78
 
79
- PDK.logger.error(_('The spec_prep rake task failed with the following error(s):'))
80
- print_failure(result, _('Failed to prepare to run the unit tests.'))
79
+ PDK.logger.error('The spec_prep rake task failed with the following error(s):')
80
+ print_failure(result, 'Failed to prepare to run the unit tests.')
81
81
  end
82
82
 
83
83
  def self.invoke(report, options = {})
@@ -97,7 +97,7 @@ module PDK
97
97
 
98
98
  environment = { 'CI_SPEC_OPTIONS' => '--format j' }
99
99
  environment['PUPPET_GEM_VERSION'] = options[:puppet] if options[:puppet]
100
- spinner_msg = options[:parallel] ? _('Running unit tests in parallel.') : _('Running unit tests.')
100
+ spinner_msg = options[:parallel] ? 'Running unit tests in parallel.' : 'Running unit tests.'
101
101
 
102
102
  if options[:interactive]
103
103
  environment['CI_SPEC_OPTIONS'] = if options[:verbose]
@@ -122,7 +122,7 @@ module PDK
122
122
  result[:exit_code] = 0
123
123
  end
124
124
 
125
- raise PDK::CLI::FatalError, _('Unit test output did not contain a valid JSON result: %{output}') % { output: result[:stdout] } if json_result.nil? || json_result.empty?
125
+ raise PDK::CLI::FatalError, 'Unit test output did not contain a valid JSON result: %{output}' % { output: result[:stdout] } if json_result.nil? || json_result.empty?
126
126
 
127
127
  json_result = merge_json_results(json_result) if options[:parallel]
128
128
 
@@ -174,7 +174,7 @@ module PDK
174
174
  return unless json_data['summary']
175
175
 
176
176
  # TODO: standardize summary output
177
- $stderr.puts ' ' << _('Evaluated %{total} tests in %{duration} seconds: %{failures} failures, %{pending} pending.') % {
177
+ $stderr.puts ' ' << 'Evaluated %{total} tests in %{duration} seconds: %{failures} failures, %{pending} pending.' % {
178
178
  total: json_data['summary']['example_count'],
179
179
  duration: duration,
180
180
  failures: json_data['summary']['failure_count'],
@@ -230,15 +230,15 @@ module PDK
230
230
  environment = {}
231
231
  environment['PUPPET_GEM_VERSION'] = options[:puppet] if options[:puppet]
232
232
 
233
- output = rake('spec_list_json', _('Finding unit tests.'), environment)
233
+ output = rake('spec_list_json', 'Finding unit tests.', environment)
234
234
 
235
235
  rspec_json = PDK::Util.find_first_json_in(output[:stdout])
236
- raise PDK::CLI::FatalError, _('Failed to find valid JSON in output from rspec: %{output}' % { output: output[:stdout] }) unless rspec_json
236
+ raise PDK::CLI::FatalError, 'Failed to find valid JSON in output from rspec: %{output}' % { output: output[:stdout] } unless rspec_json
237
237
  if rspec_json['examples'].empty?
238
238
  rspec_message = rspec_json['messages'][0]
239
239
  return [] if rspec_message == 'No examples found.'
240
240
 
241
- raise PDK::CLI::FatalError, _('Unable to enumerate examples. rspec reported: %{message}' % { message: rspec_message })
241
+ raise PDK::CLI::FatalError, 'Unable to enumerate examples. rspec reported: %{message}' % { message: rspec_message }
242
242
  else
243
243
  examples = []
244
244
  rspec_json['examples'].each do |example|
@@ -12,12 +12,12 @@ module PDK
12
12
  gem_overrides ||= { puppet: nil, hiera: nil, facter: nil }
13
13
 
14
14
  if already_bundled?(bundle.gemfile, gem_overrides)
15
- PDK.logger.debug(_('Bundler managed gems already up to date.'))
15
+ PDK.logger.debug('Bundler managed gems already up to date.')
16
16
  return
17
17
  end
18
18
 
19
19
  unless bundle.gemfile?
20
- PDK.logger.debug(_("No Gemfile found in '%{cwd}'. Skipping bundler management.") % { cwd: Dir.pwd })
20
+ PDK.logger.debug("No Gemfile found in '%{cwd}'. Skipping bundler management." % { cwd: Dir.pwd })
21
21
  return
22
22
  end
23
23
 
@@ -93,7 +93,7 @@ module PDK
93
93
  end
94
94
 
95
95
  def installed?(gem_overrides = {})
96
- PDK.logger.debug(_('Checking for missing Gemfile dependencies.'))
96
+ PDK.logger.debug('Checking for missing Gemfile dependencies.')
97
97
 
98
98
  argv = ['check', "--gemfile=#{gemfile}", '--dry-run']
99
99
 
@@ -123,25 +123,25 @@ module PDK
123
123
  end
124
124
 
125
125
  unless vendored_gemfile_lock
126
- raise PDK::CLI::FatalError, _('Vendored Gemfile.lock (%{source}) not found.') % {
126
+ raise PDK::CLI::FatalError, 'Vendored Gemfile.lock (%{source}) not found.' % {
127
127
  source: vendored_gemfile_lock,
128
128
  }
129
129
  end
130
130
 
131
- PDK.logger.debug(_('Using vendored Gemfile.lock from %{source}.') % { source: vendored_gemfile_lock })
131
+ PDK.logger.debug('Using vendored Gemfile.lock from %{source}.' % { source: vendored_gemfile_lock })
132
132
  PDK::Util::Filesystem.cp(vendored_gemfile_lock, File.join(PDK::Util.module_root, 'Gemfile.lock'))
133
133
  else
134
134
  argv = ['lock']
135
135
 
136
136
  cmd = bundle_command(*argv).tap do |c|
137
- c.add_spinner(_('Resolving default Gemfile dependencies.'))
137
+ c.add_spinner('Resolving default Gemfile dependencies.')
138
138
  end
139
139
 
140
140
  result = cmd.execute!
141
141
 
142
142
  unless result[:exit_code].zero?
143
143
  PDK.logger.fatal(result.values_at(:stdout, :stderr).join("\n")) unless PDK.logger.debug?
144
- raise PDK::CLI::FatalError, _('Unable to resolve default Gemfile dependencies.')
144
+ raise PDK::CLI::FatalError, 'Unable to resolve default Gemfile dependencies.'
145
145
  end
146
146
 
147
147
  # After initial lockfile generation, re-resolve json gem to built-in
@@ -154,7 +154,7 @@ module PDK
154
154
  end
155
155
 
156
156
  def update_lock!(options = {})
157
- PDK.logger.debug(_('Updating Gemfile dependencies.'))
157
+ PDK.logger.debug('Updating Gemfile dependencies.')
158
158
 
159
159
  argv = ['lock', "--lockfile=#{gemfile_lock}", '--update']
160
160
 
@@ -182,7 +182,7 @@ module PDK
182
182
 
183
183
  unless result[:exit_code].zero?
184
184
  PDK.logger.fatal(result.values_at(:stdout, :stderr).join("\n")) unless PDK.logger.debug?
185
- raise PDK::CLI::FatalError, _('Unable to resolve Gemfile dependencies.')
185
+ raise PDK::CLI::FatalError, 'Unable to resolve Gemfile dependencies.'
186
186
  end
187
187
 
188
188
  true
@@ -195,7 +195,7 @@ module PDK
195
195
  argv << '-j4' unless Gem.win_platform? && Gem::Version.new(PDK::Util::RubyVersion.active_ruby_version) < Gem::Version.new('2.3.5')
196
196
 
197
197
  cmd = bundle_command(*argv).tap do |c|
198
- c.add_spinner(_('Installing missing Gemfile dependencies.'))
198
+ c.add_spinner('Installing missing Gemfile dependencies.')
199
199
  c.update_environment(gemfile_env(gem_overrides)) unless gem_overrides.empty?
200
200
  end
201
201
 
@@ -203,14 +203,14 @@ module PDK
203
203
 
204
204
  unless result[:exit_code].zero?
205
205
  PDK.logger.fatal(result.values_at(:stdout, :stderr).join("\n")) unless PDK.logger.debug?
206
- raise PDK::CLI::FatalError, _('Unable to install missing Gemfile dependencies.')
206
+ raise PDK::CLI::FatalError, 'Unable to install missing Gemfile dependencies.'
207
207
  end
208
208
 
209
209
  true
210
210
  end
211
211
 
212
212
  def binstubs!(gems)
213
- raise PDK::CLI::FatalError, _('Unable to install requested binstubs as the Gemfile is missing') if gemfile.nil?
213
+ raise PDK::CLI::FatalError, 'Unable to install requested binstubs as the Gemfile is missing' if gemfile.nil?
214
214
  binstub_dir = File.join(File.dirname(gemfile), 'bin')
215
215
  return true if gems.all? { |gem| PDK::Util::Filesystem.file?(File.join(binstub_dir, gem)) }
216
216
 
@@ -218,8 +218,8 @@ module PDK
218
218
  result = cmd.execute!
219
219
 
220
220
  unless result[:exit_code].zero?
221
- PDK.logger.fatal(_("Failed to generate binstubs for '%{gems}':\n%{output}") % { gems: gems.join(' '), output: result.values_at(:stdout, :stderr).join("\n") }) unless PDK.logger.debug?
222
- raise PDK::CLI::FatalError, _('Unable to install requested binstubs.')
221
+ PDK.logger.fatal("Failed to generate binstubs for '%{gems}':\n%{output}" % { gems: gems.join(' '), output: result.values_at(:stdout, :stderr).join("\n") }) unless PDK.logger.debug?
222
+ raise PDK::CLI::FatalError, 'Unable to install requested binstubs.'
223
223
  end
224
224
 
225
225
  true
@@ -9,16 +9,14 @@ module PDK
9
9
 
10
10
  # Raises if the github_changelog_generator is not available
11
11
  def self.github_changelog_generator_available!
12
- check_command = PDK::CLI::Exec::InteractiveCommand.new(PDK::CLI::Exec.bundle_bin, 'show', 'github_changelog_generator')
12
+ check_command = PDK::CLI::Exec::InteractiveCommand.new(PDK::CLI::Exec.bundle_bin, 'info', 'github_changelog_generator')
13
13
  check_command.context = :module
14
14
 
15
15
  result = check_command.execute!
16
16
 
17
17
  return if result[:exit_code].zero?
18
18
 
19
- raise PDK::CLI::ExitWithError, _(
20
- 'Unable to generate the changelog as the %{gem} gem is not included in this module\'s Gemfile',
21
- ) % { gem: GEM }
19
+ raise PDK::CLI::ExitWithError, 'Unable to generate the changelog as the %{gem} gem is not included in this module\'s Gemfile' % { gem: GEM }
22
20
  end
23
21
 
24
22
  # Runs the Changelog Generator gem (in the module's context) to automatically create a CHANGLELOG.MD file
@@ -31,11 +29,11 @@ module PDK
31
29
  changelog_command.context = :module
32
30
 
33
31
  result = changelog_command.execute!
34
- raise PDK::CLI::ExitWithError, _('Error generating changelog: %{stdout}' % { stdout: result[:stdout] }) unless result[:exit_code].zero?
32
+ raise PDK::CLI::ExitWithError, 'Error generating changelog: %{stdout}' % { stdout: result[:stdout] } unless result[:exit_code].zero?
35
33
 
36
34
  output = changelog_content
37
35
 
38
- raise PDK::CLI::ExitWithError, _('The generated changelog contains uncategorized Pull Requests. Please label them and try again. See %{changelog_file} for more details' % { changelog_file: changelog_file }) if output =~ %r{UNCATEGORIZED PRS; GO LABEL THEM} # rubocop:disable Metrics/LineLength
36
+ raise PDK::CLI::ExitWithError, 'The generated changelog contains uncategorized Pull Requests. Please label them and try again. See %{changelog_file} for more details' % { changelog_file: changelog_file } if output =~ %r{UNCATEGORIZED PRS; GO LABEL THEM} # rubocop:disable Metrics/LineLength
39
37
  output
40
38
  end
41
39
 
@@ -44,9 +42,9 @@ module PDK
44
42
  # @param current_version [String, Gem::Version] The current version of the module
45
43
  # @return [String] The new version. May be the same as the current version if there are no notable changes
46
44
  def self.compute_next_version(current_version)
47
- raise PDK::CLI::ExitWithError, _('Invalid version string %{version}' % { version: current_version }) unless current_version =~ VERSION_REGEX
45
+ raise PDK::CLI::ExitWithError, 'Invalid version string %{version}' % { version: current_version } unless current_version =~ VERSION_REGEX
48
46
  version = Gem::Version.create(current_version).segments
49
- PDK.logger.info _('Determing the target version from \'%{file}\'') % { file: changelog_file }
47
+ PDK.logger.info 'Determing the target version from \'%{file}\'' % { file: changelog_file }
50
48
 
51
49
  # Grab all lines that start with ## between from the latest changes
52
50
  # For example given the changelog below