pdk 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/lib/pdk.rb +25 -18
  4. data/lib/pdk/answer_file.rb +2 -93
  5. data/lib/pdk/cli.rb +1 -5
  6. data/lib/pdk/cli/config.rb +3 -1
  7. data/lib/pdk/cli/config/get.rb +3 -1
  8. data/lib/pdk/cli/convert.rb +1 -1
  9. data/lib/pdk/cli/exec/command.rb +13 -0
  10. data/lib/pdk/cli/exec_group.rb +78 -43
  11. data/lib/pdk/cli/get.rb +20 -0
  12. data/lib/pdk/cli/get/config.rb +24 -0
  13. data/lib/pdk/cli/util.rb +6 -3
  14. data/lib/pdk/cli/validate.rb +26 -44
  15. data/lib/pdk/config.rb +178 -4
  16. data/lib/pdk/config/ini_file.rb +183 -0
  17. data/lib/pdk/config/ini_file_setting.rb +39 -0
  18. data/lib/pdk/config/namespace.rb +25 -5
  19. data/lib/pdk/config/setting.rb +3 -2
  20. data/lib/pdk/context.rb +96 -0
  21. data/lib/pdk/context/control_repo.rb +60 -0
  22. data/lib/pdk/context/module.rb +28 -0
  23. data/lib/pdk/context/none.rb +22 -0
  24. data/lib/pdk/control_repo.rb +40 -0
  25. data/lib/pdk/generate/module.rb +8 -12
  26. data/lib/pdk/module/release.rb +2 -8
  27. data/lib/pdk/util.rb +35 -5
  28. data/lib/pdk/util/bundler.rb +1 -0
  29. data/lib/pdk/util/changelog_generator.rb +6 -1
  30. data/lib/pdk/util/template_uri.rb +4 -3
  31. data/lib/pdk/validate.rb +72 -25
  32. data/lib/pdk/validate/external_command_validator.rb +208 -0
  33. data/lib/pdk/validate/internal_ruby_validator.rb +100 -0
  34. data/lib/pdk/validate/invokable_validator.rb +216 -0
  35. data/lib/pdk/validate/metadata/metadata_json_lint_validator.rb +86 -0
  36. data/lib/pdk/validate/metadata/metadata_syntax_validator.rb +78 -0
  37. data/lib/pdk/validate/metadata/metadata_validator_group.rb +20 -0
  38. data/lib/pdk/validate/puppet/puppet_epp_validator.rb +133 -0
  39. data/lib/pdk/validate/puppet/puppet_lint_validator.rb +66 -0
  40. data/lib/pdk/validate/puppet/puppet_syntax_validator.rb +137 -0
  41. data/lib/pdk/validate/puppet/puppet_validator_group.rb +21 -0
  42. data/lib/pdk/validate/ruby/ruby_rubocop_validator.rb +80 -0
  43. data/lib/pdk/validate/ruby/ruby_validator_group.rb +19 -0
  44. data/lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb +88 -0
  45. data/lib/pdk/validate/tasks/tasks_name_validator.rb +50 -0
  46. data/lib/pdk/validate/tasks/tasks_validator_group.rb +20 -0
  47. data/lib/pdk/validate/validator.rb +111 -0
  48. data/lib/pdk/validate/validator_group.rb +103 -0
  49. data/lib/pdk/validate/yaml/yaml_syntax_validator.rb +95 -0
  50. data/lib/pdk/validate/yaml/yaml_validator_group.rb +19 -0
  51. data/lib/pdk/version.rb +1 -1
  52. data/locales/pdk.pot +161 -125
  53. metadata +29 -17
  54. data/lib/pdk/validate/base_validator.rb +0 -215
  55. data/lib/pdk/validate/metadata/metadata_json_lint.rb +0 -82
  56. data/lib/pdk/validate/metadata/metadata_syntax.rb +0 -111
  57. data/lib/pdk/validate/metadata_validator.rb +0 -26
  58. data/lib/pdk/validate/puppet/puppet_epp.rb +0 -135
  59. data/lib/pdk/validate/puppet/puppet_lint.rb +0 -64
  60. data/lib/pdk/validate/puppet/puppet_syntax.rb +0 -135
  61. data/lib/pdk/validate/puppet_validator.rb +0 -26
  62. data/lib/pdk/validate/ruby/rubocop.rb +0 -72
  63. data/lib/pdk/validate/ruby_validator.rb +0 -26
  64. data/lib/pdk/validate/tasks/metadata_lint.rb +0 -130
  65. data/lib/pdk/validate/tasks/name.rb +0 -90
  66. data/lib/pdk/validate/tasks_validator.rb +0 -29
  67. data/lib/pdk/validate/yaml/syntax.rb +0 -125
  68. data/lib/pdk/validate/yaml_validator.rb +0 -28
@@ -0,0 +1,20 @@
1
+ require 'pdk'
2
+
3
+ module PDK
4
+ module Validate
5
+ module Tasks
6
+ class TasksValidatorGroup < ValidatorGroup
7
+ def name
8
+ 'tasks'
9
+ end
10
+
11
+ def validators
12
+ [
13
+ TasksNameValidator,
14
+ TasksMetadataLintValidator,
15
+ ].freeze
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,111 @@
1
+ require 'pdk'
2
+
3
+ module PDK
4
+ module Validate
5
+ # The base Validator class which all other validators should inherit from.
6
+ # Acutal validator implementation should inherit from other child abstract classes e.g. ValidatorGroup or ExternalCommandValdiator
7
+ # @abstract
8
+ class Validator
9
+ # A hash of options set when the Validator was instantiated
10
+ # @return Hash[Object => Object]
11
+ attr_reader :options
12
+
13
+ # The PDK context which the validator will be within.
14
+ # @return [PDK::Context::AbstractContext] or a subclass PDK::Context::AbstractContext
15
+ attr_reader :context
16
+
17
+ # Whether the validator is prepared to be invoked.
18
+ # This should only be used for testing
19
+ #
20
+ # @return [Boolean]
21
+ #
22
+ # @api private
23
+ attr_reader :prepared
24
+
25
+ # Creates a new Validator
26
+ #
27
+ # @param context [PDK::Context::AbstractContext] Optional context which specifies where the validation will take place.
28
+ # Passing nil will use a None context (PDK::Context::None)
29
+ # @param options [Hash] Optional configuration for the Validator
30
+ # @option options :parent_validator [PDK::Validate::Validator] The parent validator for this validator.
31
+ # Typically used by ValidatorGroup to create trees of Validators for invocation.
32
+ def initialize(context = nil, options = {})
33
+ if context.nil?
34
+ @context = PDK::Context::None.new(nil)
35
+ else
36
+ raise ArgumentError, _('Expected PDK::Context::AbstractContext but got \'%{klass}\' for context') % { klass: context.class } unless context.is_a?(PDK::Context::AbstractContext)
37
+ @context = context
38
+ end
39
+ @options = options.dup.freeze
40
+ @prepared = false
41
+ end
42
+
43
+ # Returns the text used for the spinner to display to the user while invoking
44
+ #
45
+ # @return [String]
46
+ #
47
+ # @abstract
48
+ def spinner_text; end
49
+
50
+ # Whether Spinners should be enabled for this validator
51
+ #
52
+ # @return [Boolean]
53
+ #
54
+ # @api private
55
+ # :nocov: .interactive? is tested elsewhere
56
+ def spinners_enabled?
57
+ PDK::CLI::Util.interactive?
58
+ end
59
+ # :nocov:
60
+
61
+ # The TTY Spinner for this Validator. Returns nil if spinners are disabled for this validator
62
+ #
63
+ # @return [TTY::Spinner, nil]
64
+ #
65
+ # @api private
66
+ # @abstract
67
+ def spinner; end
68
+
69
+ # Start the spinner if it exists
70
+ # @api private
71
+ def start_spinner
72
+ spinner.auto_spin unless spinner.nil?
73
+ nil
74
+ end
75
+
76
+ # Stop the spinner if it exists
77
+ # @api private
78
+ def stop_spinner(success)
79
+ return if spinner.nil?
80
+ success ? spinner.success : spinner.error
81
+ nil
82
+ end
83
+
84
+ # Name of the Validator
85
+ #
86
+ # @return [String]
87
+ #
88
+ # @abstract
89
+ def name; end
90
+
91
+ # Once off tasks to run prior to invoking
92
+ #
93
+ # @api private
94
+ #
95
+ # @abstract
96
+ def prepare_invoke!
97
+ @prepared = true
98
+ end
99
+
100
+ # Invokes the validator and returns the exit code
101
+ #
102
+ # @param report [PDK::Report] Accumulator of events during the invokation of this validator
103
+ # and potential child validators
104
+ # @abstract
105
+ def invoke(_report)
106
+ prepare_invoke!
107
+ 0
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,103 @@
1
+ require 'pdk'
2
+
3
+ module PDK
4
+ module Validate
5
+ # The base class which should be used by meta-validators, that is, this group executes other validators
6
+ #
7
+ # At a minimum, the `name` and `validators` methods should be overridden in the child class
8
+ #
9
+ # An example concrete implementation could look like:
10
+ #
11
+ # module PDK
12
+ # module Validate
13
+ # module Tasks
14
+ # class TasksValidatorGroup < ValidatorGroup
15
+ # def name
16
+ # 'tasks'
17
+ # end
18
+ #
19
+ # def validators
20
+ # [
21
+ # TasksNameValidator,
22
+ # TasksMetadataLintValidator,
23
+ # ].freeze
24
+ # end
25
+ # end
26
+ # end
27
+ # end
28
+ # end
29
+ #
30
+ # @see PDK::Validate::Validator
31
+ # @abstract
32
+ class ValidatorGroup < Validator
33
+ # @see PDK::Validate::Validator.spinner_text
34
+ def spinner_text
35
+ _('Running %{name} validators ...') % { name: name }
36
+ end
37
+
38
+ # @see PDK::Validate::Validator.spinner
39
+ def spinner
40
+ return nil unless spinners_enabled?
41
+ return @spinner unless @spinner.nil?
42
+ require 'pdk/cli/util/spinner'
43
+
44
+ @spinner = TTY::Spinner::Multi.new("[:spinner] #{spinner_text}", PDK::CLI::Util.spinner_opts_for_platform)
45
+
46
+ # Register the child spinners
47
+ validator_instances.each do |instance|
48
+ next if instance.spinner.nil?
49
+ @spinner.register(instance.spinner)
50
+ end
51
+
52
+ @spinner
53
+ end
54
+
55
+ # Can be overridden by child classes to do their own preparation tasks.
56
+ # Typically this is not required by a meta-validator though.
57
+ #
58
+ # @see PDK::Validate::Validator.prepare_invoke!
59
+ def prepare_invoke!
60
+ return if @prepared
61
+ super
62
+
63
+ # Force the spinner to be registered etc.
64
+ spinner
65
+
66
+ # Prepare child validators
67
+ validator_instances.each { |instance| instance.prepare_invoke! }
68
+ nil
69
+ end
70
+
71
+ # A list of Validator classes that this group will run
72
+ # @return Array[Class] An array of Validator classes (or objects that subclass to it) that this group will execute
73
+ # @abstract
74
+ def validators
75
+ []
76
+ end
77
+
78
+ # @see PDK::Validate::Validator.invoke
79
+ def invoke(report)
80
+ exit_code = 0
81
+
82
+ prepare_invoke!
83
+ start_spinner
84
+
85
+ validator_instances.each do |instance|
86
+ exit_code = instance.invoke(report)
87
+ break if exit_code != 0
88
+ end
89
+
90
+ stop_spinner(exit_code.zero?)
91
+
92
+ exit_code
93
+ end
94
+
95
+ # The instanitated PDK::Validator::Validator classes from the `validators` array
96
+ # @return Array[PDK::Validator::Validator]
97
+ # @api private
98
+ def validator_instances
99
+ @validator_instances ||= validators.map { |klass| klass.new(context, options.merge(parent_validator: self)) }
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,95 @@
1
+ require 'pdk'
2
+
3
+ module PDK
4
+ module Validate
5
+ module YAML
6
+ class YAMLSyntaxValidator < InternalRubyValidator
7
+ YAML_WHITELISTED_CLASSES = [Symbol].freeze
8
+
9
+ def ignore_dotfiles
10
+ false
11
+ end
12
+
13
+ def name
14
+ 'yaml-syntax'
15
+ end
16
+
17
+ def pattern
18
+ [
19
+ '**/*.yaml',
20
+ '**/*.yml',
21
+ ].tap do |pat|
22
+ if context.is_a?(PDK::Context::ControlRepo)
23
+ pat.concat(
24
+ [
25
+ '**/*.eyaml',
26
+ '**/*.eyml',
27
+ ],
28
+ )
29
+ else
30
+ pat
31
+ end
32
+ end
33
+ end
34
+
35
+ def spinner_text
36
+ _('Checking YAML syntax (%{patterns}).') % {
37
+ patterns: pattern.join(' '),
38
+ }
39
+ end
40
+
41
+ def validate_target(report, target)
42
+ return 0 unless PDK::Util::Filesystem.file?(target)
43
+
44
+ unless PDK::Util::Filesystem.readable?(target)
45
+ report.add_event(
46
+ file: target,
47
+ source: name,
48
+ state: :failure,
49
+ severity: 'error',
50
+ message: _('Could not be read.'),
51
+ )
52
+ return 1
53
+ end
54
+
55
+ begin
56
+ ::YAML.safe_load(PDK::Util::Filesystem.read_file(target), YAML_WHITELISTED_CLASSES, [], true)
57
+
58
+ report.add_event(
59
+ file: target,
60
+ source: name,
61
+ state: :passed,
62
+ severity: 'ok',
63
+ )
64
+ return 0
65
+ rescue Psych::SyntaxError => e
66
+ report.add_event(
67
+ file: target,
68
+ source: name,
69
+ state: :failure,
70
+ severity: 'error',
71
+ line: e.line,
72
+ column: e.column,
73
+ message: _('%{problem} %{context}') % {
74
+ problem: e.problem,
75
+ context: e.context,
76
+ },
77
+ )
78
+ return 1
79
+ rescue Psych::DisallowedClass => e
80
+ report.add_event(
81
+ file: target,
82
+ source: name,
83
+ state: :failure,
84
+ severity: 'error',
85
+ message: _('Unsupported class: %{message}') % {
86
+ message: e.message,
87
+ },
88
+ )
89
+ return 1
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,19 @@
1
+ require 'pdk'
2
+
3
+ module PDK
4
+ module Validate
5
+ module YAML
6
+ class YAMLValidatorGroup < ValidatorGroup
7
+ def name
8
+ 'yaml'
9
+ end
10
+
11
+ def validators
12
+ [
13
+ YAMLSyntaxValidator,
14
+ ].freeze
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,4 +1,4 @@
1
1
  module PDK
2
- VERSION = '1.16.0'.freeze
2
+ VERSION = '1.17.0'.freeze
3
3
  TEMPLATE_REF = VERSION
4
4
  end
@@ -6,11 +6,11 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: puppet development kit v1.15.0-30-g4c79619\n"
9
+ "Project-Id-Version: puppet development kit v1.16.0-46-ga0df432\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: docs@puppet.com\n"
12
- "POT-Creation-Date: 2020-02-05 12:17+1100\n"
13
- "PO-Revision-Date: 2020-02-05 12:17+1100\n"
12
+ "POT-Creation-Date: 2020-02-27 10:49+1100\n"
13
+ "PO-Revision-Date: 2020-02-27 10:49+1100\n"
14
14
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15
15
  "Language-Team: LANGUAGE <LL@li.org>\n"
16
16
  "Language: \n"
@@ -23,26 +23,6 @@ msgstr ""
23
23
  msgid "Unknown analytics key '%{key}'"
24
24
  msgstr ""
25
25
 
26
- #: ../lib/pdk/answer_file.rb:41
27
- msgid "Answer file can be updated only with a Hash"
28
- msgstr ""
29
-
30
- #: ../lib/pdk/answer_file.rb:68
31
- msgid "Unable to open '%{file}' for reading"
32
- msgstr ""
33
-
34
- #: ../lib/pdk/answer_file.rb:77
35
- msgid "Answer file '%{path}' did not contain a valid set of answers, recreating it"
36
- msgstr ""
37
-
38
- #: ../lib/pdk/answer_file.rb:83
39
- msgid "Answer file '%{path}' did not contain valid JSON, recreating it"
40
- msgstr ""
41
-
42
- #: ../lib/pdk/answer_file.rb:97
43
- msgid "Unable to write '%{file}': %{msg}"
44
- msgstr ""
45
-
46
26
  #: ../lib/pdk/cli.rb:56
47
27
  msgid "Support for Ruby versions older than 2.4 will be dropped in the future PDK 2.0.0 release. We recommend updating your Ruby installation to ensure that you can continue using the latest version of PDK."
48
28
  msgstr ""
@@ -103,10 +83,6 @@ msgstr ""
103
83
  msgid "Enable debug output."
104
84
  msgstr ""
105
85
 
106
- #: ../lib/pdk/cli.rb:154
107
- msgid "Path to an answer file."
108
- msgstr ""
109
-
110
86
  #: ../lib/pdk/cli/build.rb:4
111
87
  msgid "build [options]"
112
88
  msgstr ""
@@ -182,7 +158,11 @@ msgid "config [subcommand] [options]"
182
158
  msgstr ""
183
159
 
184
160
  #: ../lib/pdk/cli/config.rb:5
185
- msgid "Configure the Puppet Development Kit."
161
+ msgid "(Deprecated) Configure the Puppet Development Kit."
162
+ msgstr ""
163
+
164
+ #: ../lib/pdk/cli/config.rb:9
165
+ msgid "The 'pdk config' command is deprecated, please use 'pdk get config' and 'pdk set config' instead."
186
166
  msgstr ""
187
167
 
188
168
  #: ../lib/pdk/cli/config/get.rb:4
@@ -190,18 +170,22 @@ msgid "config get [name]"
190
170
  msgstr ""
191
171
 
192
172
  #: ../lib/pdk/cli/config/get.rb:5
193
- msgid "Retrieve the configuration for <name>. If not specified, retrieve all configuration settings"
173
+ msgid "(Deprecated) Retrieve the configuration for <name>. If not specified, retrieve all configuration settings"
174
+ msgstr ""
175
+
176
+ #: ../lib/pdk/cli/config/get.rb:8
177
+ msgid "The 'pdk config get' command is deprecated, please use 'pdk get config' instead."
194
178
  msgstr ""
195
179
 
196
- #: ../lib/pdk/cli/config/get.rb:12
180
+ #: ../lib/pdk/cli/config/get.rb:14 ../lib/pdk/cli/get/config.rb:12
197
181
  msgid "Configuration item '%{name}' does not exist"
198
182
  msgstr ""
199
183
 
200
- #: ../lib/pdk/cli/config/get.rb:17
184
+ #: ../lib/pdk/cli/config/get.rb:19 ../lib/pdk/cli/get/config.rb:17
201
185
  msgid "%{value}"
202
186
  msgstr ""
203
187
 
204
- #: ../lib/pdk/cli/config/get.rb:21
188
+ #: ../lib/pdk/cli/config/get.rb:23 ../lib/pdk/cli/get/config.rb:21
205
189
  msgid "%{name}=%{value}"
206
190
  msgstr ""
207
191
 
@@ -293,43 +277,43 @@ msgstr ""
293
277
  msgid "Using '%{vendored_bin}' from PDK package."
294
278
  msgstr ""
295
279
 
296
- #: ../lib/pdk/cli/exec/command.rb:42
280
+ #: ../lib/pdk/cli/exec/command.rb:50
297
281
  msgid "Expected execution context to be :system or :module but got '%{context}'."
298
282
  msgstr ""
299
283
 
300
- #: ../lib/pdk/cli/exec/command.rb:88 ../lib/pdk/cli/exec/interactive_command.rb:46
284
+ #: ../lib/pdk/cli/exec/command.rb:101 ../lib/pdk/cli/exec/interactive_command.rb:46
301
285
  msgid "Current working directory is not part of a module. (No metadata.json was found.)"
302
286
  msgstr ""
303
287
 
304
- #: ../lib/pdk/cli/exec/command.rb:115
288
+ #: ../lib/pdk/cli/exec/command.rb:128
305
289
  msgid "STDOUT: %{output}"
306
290
  msgstr ""
307
291
 
308
- #: ../lib/pdk/cli/exec/command.rb:118
292
+ #: ../lib/pdk/cli/exec/command.rb:131
309
293
  msgid "STDERR: %{output}"
310
294
  msgstr ""
311
295
 
312
- #: ../lib/pdk/cli/exec/command.rb:132
296
+ #: ../lib/pdk/cli/exec/command.rb:145
313
297
  msgid "PUPPET_GEM_VERSION is not supported by PDK. Use the --puppet-version option on your PDK command or set the PDK_PUPPET_VERSION environment variable instead"
314
298
  msgstr ""
315
299
 
316
- #: ../lib/pdk/cli/exec/command.rb:141
300
+ #: ../lib/pdk/cli/exec/command.rb:154
317
301
  msgid "%{varname} is not supported by PDK."
318
302
  msgstr ""
319
303
 
320
- #: ../lib/pdk/cli/exec/command.rb:212
304
+ #: ../lib/pdk/cli/exec/command.rb:225
321
305
  msgid "Executing '%{command}'"
322
306
  msgstr ""
323
307
 
324
- #: ../lib/pdk/cli/exec/command.rb:215 ../lib/pdk/cli/exec/interactive_command.rb:78
308
+ #: ../lib/pdk/cli/exec/command.rb:228 ../lib/pdk/cli/exec/interactive_command.rb:78
325
309
  msgid "Command environment:"
326
310
  msgstr ""
327
311
 
328
- #: ../lib/pdk/cli/exec/command.rb:226
312
+ #: ../lib/pdk/cli/exec/command.rb:239
329
313
  msgid "Failed to execute '%{command}': %{message}"
330
314
  msgstr ""
331
315
 
332
- #: ../lib/pdk/cli/exec/command.rb:242
316
+ #: ../lib/pdk/cli/exec/command.rb:255
333
317
  msgid "Execution of '%{command}' complete (duration: %{duration_in_seconds}s; exit code: %{exit_code})"
334
318
  msgstr ""
335
319
 
@@ -347,10 +331,26 @@ msgid ""
347
331
  " %{duration_in_seconds}s; exit code: %{exit_code})"
348
332
  msgstr ""
349
333
 
350
- #: ../lib/pdk/cli/exec_group.rb:30
334
+ #: ../lib/pdk/cli/exec_group.rb:41
351
335
  msgid "No block registered"
352
336
  msgstr ""
353
337
 
338
+ #: ../lib/pdk/cli/get.rb:4
339
+ msgid "get [subcommand] [options]"
340
+ msgstr ""
341
+
342
+ #: ../lib/pdk/cli/get.rb:5
343
+ msgid "Retrieve information about the PDK or current project."
344
+ msgstr ""
345
+
346
+ #: ../lib/pdk/cli/get/config.rb:4
347
+ msgid "config [name]"
348
+ msgstr ""
349
+
350
+ #: ../lib/pdk/cli/get/config.rb:5
351
+ msgid "Retrieve the configuration for <name>. If not specified, retrieve all configuration settings"
352
+ msgstr ""
353
+
354
354
  #: ../lib/pdk/cli/module.rb:4
355
355
  msgid "module [options]"
356
356
  msgstr ""
@@ -779,23 +779,23 @@ msgstr ""
779
779
  msgid "Support for Puppet versions older than %{version} is deprecated and will be removed in a future version of PDK."
780
780
  msgstr ""
781
781
 
782
- #: ../lib/pdk/cli/util.rb:162
782
+ #: ../lib/pdk/cli/util.rb:165
783
783
  msgid "Using Ruby %{version}"
784
784
  msgstr ""
785
785
 
786
- #: ../lib/pdk/cli/util.rb:176
786
+ #: ../lib/pdk/cli/util.rb:179
787
787
  msgid "Using %{gem} %{version}"
788
788
  msgstr ""
789
789
 
790
- #: ../lib/pdk/cli/util.rb:207 ../lib/pdk/cli/util.rb:219
790
+ #: ../lib/pdk/cli/util.rb:210 ../lib/pdk/cli/util.rb:222
791
791
  msgid "You cannot specify a %{first} and %{second} at the same time."
792
792
  msgstr ""
793
793
 
794
- #: ../lib/pdk/cli/util.rb:255
794
+ #: ../lib/pdk/cli/util.rb:258
795
795
  msgid "--template-ref requires --template-url to also be specified."
796
796
  msgstr ""
797
797
 
798
- #: ../lib/pdk/cli/util.rb:259
798
+ #: ../lib/pdk/cli/util.rb:262
799
799
  msgid "--template-url may not be used to specify paths containing #'s."
800
800
  msgstr ""
801
801
 
@@ -852,47 +852,63 @@ msgstr ""
852
852
  msgid "Run validations in parallel."
853
853
  msgstr ""
854
854
 
855
- #: ../lib/pdk/cli/validate.rb:35
855
+ #: ../lib/pdk/cli/validate.rb:34
856
856
  msgid "Available validators: %{validator_names}"
857
857
  msgstr ""
858
858
 
859
- #: ../lib/pdk/cli/validate.rb:42
859
+ #: ../lib/pdk/cli/validate.rb:40
860
860
  msgid "Code validation can only be run from inside a valid module directory"
861
861
  msgstr ""
862
862
 
863
- #: ../lib/pdk/cli/validate.rb:58
863
+ #: ../lib/pdk/cli/validate.rb:61
864
864
  msgid "Unknown validator '%{v}'. Available validators: %{validators}."
865
865
  msgstr ""
866
866
 
867
- #: ../lib/pdk/cli/validate.rb:68 ../lib/pdk/cli/validate.rb:72
867
+ #: ../lib/pdk/cli/validate.rb:71 ../lib/pdk/cli/validate.rb:75
868
868
  msgid "Running all available validators..."
869
869
  msgstr ""
870
870
 
871
- #: ../lib/pdk/cli/validate.rb:111
872
- msgid "Validating module using %{num_of_threads} threads"
871
+ #: ../lib/pdk/config.rb:146
872
+ msgid "Expected an Array but got '%{klass}' for scopes"
873
873
  msgstr ""
874
874
 
875
- #: ../lib/pdk/config.rb:53
875
+ #: ../lib/pdk/config.rb:147
876
+ msgid "Expected an Array or String but got '%{klass}' for setting_name"
877
+ msgstr ""
878
+
879
+ #: ../lib/pdk/config.rb:167 ../lib/pdk/config/setting.rb:113
880
+ msgid "must be passed a block"
881
+ msgstr ""
882
+
883
+ #: ../lib/pdk/config.rb:176
876
884
  msgid "Unable to load %{file}: %{message}"
877
885
  msgstr ""
878
886
 
879
- #: ../lib/pdk/config.rb:86
887
+ #: ../lib/pdk/config.rb:217
880
888
  msgid ""
881
889
  "PDK collects anonymous usage information to help us understand how it is being used and make decisions on how to improve it. You can find out more about what data we collect and how it is used in the PDK documentation at %{url}.\n"
882
890
  msgstr ""
883
891
 
884
- #: ../lib/pdk/config.rb:92
892
+ #: ../lib/pdk/config.rb:223
885
893
  msgid "You can opt in or out of the usage data collection at any time by editing the analytics configuration file at %{path} and changing the '%{key}' value."
886
894
  msgstr ""
887
895
 
888
- #: ../lib/pdk/config.rb:104
896
+ #: ../lib/pdk/config.rb:235
889
897
  msgid "Do you consent to the collection of anonymous PDK usage information?"
890
898
  msgstr ""
891
899
 
892
- #: ../lib/pdk/config.rb:118
900
+ #: ../lib/pdk/config.rb:249
893
901
  msgid "No answer given, opting out of analytics collection."
894
902
  msgstr ""
895
903
 
904
+ #: ../lib/pdk/config.rb:282
905
+ msgid "Expected a String but got '%{klass}'"
906
+ msgstr ""
907
+
908
+ #: ../lib/pdk/config/ini_file_setting.rb:23 ../lib/pdk/config/ini_file_setting.rb:31
909
+ msgid "The setting %{key} may only be a String or Integer, not %{class}"
910
+ msgstr ""
911
+
896
912
  #: ../lib/pdk/config/json_schema_namespace.rb:102
897
913
  msgid "Setting '#{key}' does not exist'"
898
914
  msgstr ""
@@ -905,7 +921,7 @@ msgstr ""
905
921
  msgid "Unable to open %{file} for reading. JSON Error: %{msg}"
906
922
  msgstr ""
907
923
 
908
- #: ../lib/pdk/config/json_schema_setting.rb:27 ../lib/pdk/config/setting.rb:98
924
+ #: ../lib/pdk/config/json_schema_setting.rb:27 ../lib/pdk/config/setting.rb:99
909
925
  msgid "%{key} %{message}"
910
926
  msgstr ""
911
927
 
@@ -913,38 +929,34 @@ msgstr ""
913
929
  msgid "The configuration file %{filename} is not valid: %{message}"
914
930
  msgstr ""
915
931
 
916
- #: ../lib/pdk/config/namespace.rb:67
932
+ #: ../lib/pdk/config/namespace.rb:68
917
933
  msgid "Only PDK::Config::Namespace objects can be mounted into a namespace"
918
934
  msgstr ""
919
935
 
920
- #: ../lib/pdk/config/namespace.rb:139
936
+ #: ../lib/pdk/config/namespace.rb:141
921
937
  msgid "Namespace mounts can not be set a value"
922
938
  msgstr ""
923
939
 
924
- #: ../lib/pdk/config/namespace.rb:288
940
+ #: ../lib/pdk/config/namespace.rb:308
925
941
  msgid "Unable to open %{file} for reading"
926
942
  msgstr ""
927
943
 
928
- #: ../lib/pdk/config/namespace.rb:311
944
+ #: ../lib/pdk/config/namespace.rb:331
929
945
  msgid "Unable to open %{file} for writing"
930
946
  msgstr ""
931
947
 
932
- #: ../lib/pdk/config/setting.rb:79
948
+ #: ../lib/pdk/config/setting.rb:80
933
949
  msgid "`validator` must be a Hash"
934
950
  msgstr ""
935
951
 
936
- #: ../lib/pdk/config/setting.rb:80
952
+ #: ../lib/pdk/config/setting.rb:81
937
953
  msgid "the :proc key must contain a Proc"
938
954
  msgstr ""
939
955
 
940
- #: ../lib/pdk/config/setting.rb:81
956
+ #: ../lib/pdk/config/setting.rb:82
941
957
  msgid "the :message key must contain a String"
942
958
  msgstr ""
943
959
 
944
- #: ../lib/pdk/config/setting.rb:112
945
- msgid "must be passed a block"
946
- msgstr ""
947
-
948
960
  #: ../lib/pdk/config/validator.rb:16
949
961
  msgid "must be a boolean: true or false"
950
962
  msgstr ""
@@ -961,6 +973,18 @@ msgstr ""
961
973
  msgid "Unsupported class in %{file}: %{error}"
962
974
  msgstr ""
963
975
 
976
+ #: ../lib/pdk/context/control_repo.rb:47
977
+ msgid "a Control Repository context"
978
+ msgstr ""
979
+
980
+ #: ../lib/pdk/context/module.rb:23
981
+ msgid "a Puppet Module context"
982
+ msgstr ""
983
+
984
+ #: ../lib/pdk/context/none.rb:11
985
+ msgid "an unknown context"
986
+ msgstr ""
987
+
964
988
  #: ../lib/pdk/generate/module.rb:10
965
989
  msgid ""
966
990
  "'%{module_name}' is not a valid module name.\n"
@@ -1353,47 +1377,47 @@ msgstr ""
1353
1377
  msgid "Updating version to %{module_version}"
1354
1378
  msgstr ""
1355
1379
 
1356
- #: ../lib/pdk/module/release.rb:120
1380
+ #: ../lib/pdk/module/release.rb:115
1357
1381
  msgid "An error occured during validation"
1358
1382
  msgstr ""
1359
1383
 
1360
- #: ../lib/pdk/module/release.rb:125
1384
+ #: ../lib/pdk/module/release.rb:119
1361
1385
  msgid "Updating documentation using puppet strings"
1362
1386
  msgstr ""
1363
1387
 
1364
- #: ../lib/pdk/module/release.rb:129
1388
+ #: ../lib/pdk/module/release.rb:123
1365
1389
  msgid "An error occured generating the module documentation: %{stdout}"
1366
1390
  msgstr ""
1367
1391
 
1368
- #: ../lib/pdk/module/release.rb:134
1392
+ #: ../lib/pdk/module/release.rb:128
1369
1393
  msgid "Running dependency checks"
1370
1394
  msgstr ""
1371
1395
 
1372
- #: ../lib/pdk/module/release.rb:140
1396
+ #: ../lib/pdk/module/release.rb:134
1373
1397
  msgid "An error occured checking the module dependencies: %{stdout}"
1374
1398
  msgstr ""
1375
1399
 
1376
- #: ../lib/pdk/module/release.rb:150
1400
+ #: ../lib/pdk/module/release.rb:144
1377
1401
  msgid "Module tarball %{tarball_path} does not exist"
1378
1402
  msgstr ""
1379
1403
 
1380
- #: ../lib/pdk/module/release.rb:156
1404
+ #: ../lib/pdk/module/release.rb:150
1381
1405
  msgid "Uploading tarball to puppet forge..."
1382
1406
  msgstr ""
1383
1407
 
1384
- #: ../lib/pdk/module/release.rb:172
1408
+ #: ../lib/pdk/module/release.rb:166
1385
1409
  msgid "Error uploading to Puppet Forge: %{result}"
1386
1410
  msgstr ""
1387
1411
 
1388
- #: ../lib/pdk/module/release.rb:173
1412
+ #: ../lib/pdk/module/release.rb:167
1389
1413
  msgid "Publish to Forge was successful"
1390
1414
  msgstr ""
1391
1415
 
1392
- #: ../lib/pdk/module/release.rb:178
1416
+ #: ../lib/pdk/module/release.rb:172
1393
1417
  msgid "Missing forge-upload-url option"
1394
1418
  msgstr ""
1395
1419
 
1396
- #: ../lib/pdk/module/release.rb:179
1420
+ #: ../lib/pdk/module/release.rb:173
1397
1421
  msgid "Missing forge-token option"
1398
1422
  msgstr ""
1399
1423
 
@@ -1651,33 +1675,37 @@ msgstr ""
1651
1675
  msgid "Unable to install missing Gemfile dependencies."
1652
1676
  msgstr ""
1653
1677
 
1654
- #: ../lib/pdk/util/bundler.rb:220
1678
+ #: ../lib/pdk/util/bundler.rb:213
1679
+ msgid "Unable to install requested binstubs as the Gemfile is missing"
1680
+ msgstr ""
1681
+
1682
+ #: ../lib/pdk/util/bundler.rb:221
1655
1683
  msgid ""
1656
1684
  "Failed to generate binstubs for '%{gems}':\n"
1657
1685
  "%{output}"
1658
1686
  msgstr ""
1659
1687
 
1660
- #: ../lib/pdk/util/bundler.rb:221
1688
+ #: ../lib/pdk/util/bundler.rb:222
1661
1689
  msgid "Unable to install requested binstubs."
1662
1690
  msgstr ""
1663
1691
 
1664
- #: ../lib/pdk/util/changelog_generator.rb:12
1665
- msgid "Unable to generate the changelog as the github_changelog_generator gem is not installed"
1692
+ #: ../lib/pdk/util/changelog_generator.rb:15
1693
+ msgid "Unable to generate the changelog as the %{gem} gem is not installed"
1666
1694
  msgstr ""
1667
1695
 
1668
- #: ../lib/pdk/util/changelog_generator.rb:25
1696
+ #: ../lib/pdk/util/changelog_generator.rb:30
1669
1697
  msgid "Error generating changelog: %{stdout}"
1670
1698
  msgstr ""
1671
1699
 
1672
- #: ../lib/pdk/util/changelog_generator.rb:29
1700
+ #: ../lib/pdk/util/changelog_generator.rb:34
1673
1701
  msgid "The generated changelog contains uncategorized Pull Requests. Please label them and try again. See %{changelog_file} for more details"
1674
1702
  msgstr ""
1675
1703
 
1676
- #: ../lib/pdk/util/changelog_generator.rb:38
1704
+ #: ../lib/pdk/util/changelog_generator.rb:43
1677
1705
  msgid "Invalid version string %{version}"
1678
1706
  msgstr ""
1679
1707
 
1680
- #: ../lib/pdk/util/changelog_generator.rb:40
1708
+ #: ../lib/pdk/util/changelog_generator.rb:45
1681
1709
  msgid "Determing the target version from '%{file}'"
1682
1710
  msgstr ""
1683
1711
 
@@ -1773,27 +1801,27 @@ msgstr ""
1773
1801
  msgid "%{scp_uri} appears to be an SCP style URL; it will be converted to an RFC compliant URI: %{rfc_uri}"
1774
1802
  msgstr ""
1775
1803
 
1776
- #: ../lib/pdk/util/template_uri.rb:232
1804
+ #: ../lib/pdk/util/template_uri.rb:233
1777
1805
  msgid "--template-url"
1778
1806
  msgstr ""
1779
1807
 
1780
- #: ../lib/pdk/util/template_uri.rb:233
1808
+ #: ../lib/pdk/util/template_uri.rb:234
1781
1809
  msgid "metadata.json"
1782
1810
  msgstr ""
1783
1811
 
1784
- #: ../lib/pdk/util/template_uri.rb:234
1812
+ #: ../lib/pdk/util/template_uri.rb:235
1785
1813
  msgid "PDK answers"
1786
1814
  msgstr ""
1787
1815
 
1788
- #: ../lib/pdk/util/template_uri.rb:235
1816
+ #: ../lib/pdk/util/template_uri.rb:236
1789
1817
  msgid "default"
1790
1818
  msgstr ""
1791
1819
 
1792
- #: ../lib/pdk/util/template_uri.rb:259
1820
+ #: ../lib/pdk/util/template_uri.rb:260
1793
1821
  msgid "Unable to find a valid module template to use."
1794
1822
  msgstr ""
1795
1823
 
1796
- #: ../lib/pdk/util/template_uri.rb:283
1824
+ #: ../lib/pdk/util/template_uri.rb:284
1797
1825
  msgid "Unable to find a valid template at %{uri}"
1798
1826
  msgstr ""
1799
1827
 
@@ -1841,90 +1869,98 @@ msgstr ""
1841
1869
  msgid "Failed to set environment variaible: %{name}"
1842
1870
  msgstr ""
1843
1871
 
1844
- #: ../lib/pdk/validate/base_validator.rb:105
1845
- msgid "Invoking %{cmd}"
1872
+ #: ../lib/pdk/validate.rb:71
1873
+ msgid "Validating module using %{num_of_threads} threads"
1846
1874
  msgstr ""
1847
1875
 
1848
- #: ../lib/pdk/validate/base_validator.rb:110
1876
+ #: ../lib/pdk/validate/invokable_validator.rb:120
1877
+ msgid "Running %{name} validator ..."
1878
+ msgstr ""
1879
+
1880
+ #: ../lib/pdk/validate/invokable_validator.rb:137
1849
1881
  msgid "%{validator}: Skipped '%{target}'. Target does not contain any files to validate (%{pattern})."
1850
1882
  msgstr ""
1851
1883
 
1852
- #: ../lib/pdk/validate/base_validator.rb:114
1884
+ #: ../lib/pdk/validate/invokable_validator.rb:141
1853
1885
  msgid "Target does not contain any files to validate (%{pattern})."
1854
1886
  msgstr ""
1855
1887
 
1856
- #: ../lib/pdk/validate/base_validator.rb:123
1888
+ #: ../lib/pdk/validate/invokable_validator.rb:153
1857
1889
  msgid "%{validator}: Skipped '%{target}'. Target file not found."
1858
1890
  msgstr ""
1859
1891
 
1860
- #: ../lib/pdk/validate/base_validator.rb:127
1892
+ #: ../lib/pdk/validate/invokable_validator.rb:157
1861
1893
  msgid "File does not exist."
1862
1894
  msgstr ""
1863
1895
 
1864
- #: ../lib/pdk/validate/metadata/metadata_json_lint.rb:19
1896
+ #: ../lib/pdk/validate/metadata/metadata_json_lint_validator.rb:22
1865
1897
  msgid "Checking module metadata style (%{targets})."
1866
1898
  msgstr ""
1867
1899
 
1868
- #: ../lib/pdk/validate/metadata/metadata_json_lint.rb:36
1869
- msgid "More than 1 target provided to PDK::Validate::MetadataJSONLint."
1900
+ #: ../lib/pdk/validate/metadata/metadata_json_lint_validator.rb:39
1901
+ msgid "More than 1 target provided to PDK::Validate::MetadataJSONLintValidator."
1870
1902
  msgstr ""
1871
1903
 
1872
- #: ../lib/pdk/validate/metadata/metadata_syntax.rb:15
1873
- msgid "Checking metadata syntax (%{targets})."
1904
+ #: ../lib/pdk/validate/metadata/metadata_syntax_validator.rb:16
1905
+ msgid "Checking metadata syntax (%{patterns})."
1874
1906
  msgstr ""
1875
1907
 
1876
- #: ../lib/pdk/validate/metadata/metadata_syntax.rb:71 ../lib/pdk/validate/tasks/metadata_lint.rb:81 ../lib/pdk/validate/yaml/syntax.rb:76
1908
+ #: ../lib/pdk/validate/metadata/metadata_syntax_validator.rb:43 ../lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb:42 ../lib/pdk/validate/yaml/yaml_syntax_validator.rb:50
1877
1909
  msgid "Could not be read."
1878
1910
  msgstr ""
1879
1911
 
1880
- #: ../lib/pdk/validate/puppet/puppet_epp.rb:43
1912
+ #: ../lib/pdk/validate/puppet/puppet_epp_validator.rb:40
1881
1913
  msgid "Checking Puppet EPP syntax (%{pattern})."
1882
1914
  msgstr ""
1883
1915
 
1884
- #: ../lib/pdk/validate/puppet/puppet_lint.rb:19
1916
+ #: ../lib/pdk/validate/puppet/puppet_lint_validator.rb:20
1885
1917
  msgid "Checking Puppet manifest style (%{pattern})."
1886
1918
  msgstr ""
1887
1919
 
1888
- #: ../lib/pdk/validate/puppet/puppet_syntax.rb:43
1920
+ #: ../lib/pdk/validate/puppet/puppet_syntax_validator.rb:44
1889
1921
  msgid "Checking Puppet manifest syntax (%{pattern})."
1890
1922
  msgstr ""
1891
1923
 
1892
- #: ../lib/pdk/validate/ruby/rubocop.rb:21
1924
+ #: ../lib/pdk/validate/ruby/ruby_rubocop_validator.rb:28
1893
1925
  msgid "Checking Ruby code style (%{pattern})."
1894
1926
  msgstr ""
1895
1927
 
1896
- #: ../lib/pdk/validate/tasks/metadata_lint.rb:18
1897
- msgid "Checking task metadata style (%{targets})."
1928
+ #: ../lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb:18
1929
+ msgid "Checking task metadata style (%{pattern})."
1898
1930
  msgstr ""
1899
1931
 
1900
- #: ../lib/pdk/validate/tasks/metadata_lint.rb:58
1932
+ #: ../lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb:32
1901
1933
  msgid "Failed to parse Task Metadata Schema file."
1902
1934
  msgstr ""
1903
1935
 
1904
- #: ../lib/pdk/validate/tasks/metadata_lint.rb:96
1936
+ #: ../lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb:57
1905
1937
  msgid "Unable to validate Task Metadata. %{error}."
1906
1938
  msgstr ""
1907
1939
 
1908
- #: ../lib/pdk/validate/tasks/name.rb:7
1940
+ #: ../lib/pdk/validate/tasks/tasks_name_validator.rb:7
1909
1941
  msgid "Invalid task name. Task names must start with a lowercase letter and can only contain lowercase letters, numbers, and underscores."
1910
1942
  msgstr ""
1911
1943
 
1912
- #: ../lib/pdk/validate/tasks/name.rb:21
1913
- msgid "Checking task names (%{targets})."
1944
+ #: ../lib/pdk/validate/tasks/tasks_name_validator.rb:21
1945
+ msgid "Checking task names (%{pattern})."
1946
+ msgstr ""
1947
+
1948
+ #: ../lib/pdk/validate/validator.rb:36
1949
+ msgid "Expected PDK::Context::AbstractContext but got '%{klass}' for context"
1914
1950
  msgstr ""
1915
1951
 
1916
- #: ../lib/pdk/validate/yaml/syntax.rb:24
1917
- msgid "Checking YAML syntax (%{targets})."
1952
+ #: ../lib/pdk/validate/validator_group.rb:35
1953
+ msgid "Running %{name} validators ..."
1918
1954
  msgstr ""
1919
1955
 
1920
- #: ../lib/pdk/validate/yaml/syntax.rb:65
1921
- msgid "Validating yaml content of %{parsed_targets}"
1956
+ #: ../lib/pdk/validate/yaml/yaml_syntax_validator.rb:36
1957
+ msgid "Checking YAML syntax (%{patterns})."
1922
1958
  msgstr ""
1923
1959
 
1924
- #: ../lib/pdk/validate/yaml/syntax.rb:99
1960
+ #: ../lib/pdk/validate/yaml/yaml_syntax_validator.rb:73
1925
1961
  msgid "%{problem} %{context}"
1926
1962
  msgstr ""
1927
1963
 
1928
- #: ../lib/pdk/validate/yaml/syntax.rb:111
1964
+ #: ../lib/pdk/validate/yaml/yaml_syntax_validator.rb:85
1929
1965
  msgid "Unsupported class: %{message}"
1930
1966
  msgstr ""