pdk 2.7.0 → 3.0.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 (144) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +2 -48
  4. data/lib/pdk/analytics/client/google_analytics.rb +22 -26
  5. data/lib/pdk/analytics/util.rb +0 -1
  6. data/lib/pdk/analytics.rb +1 -1
  7. data/lib/pdk/bolt.rb +1 -0
  8. data/lib/pdk/cli/build.rb +53 -56
  9. data/lib/pdk/cli/bundle.rb +34 -33
  10. data/lib/pdk/cli/console.rb +136 -134
  11. data/lib/pdk/cli/convert.rb +39 -41
  12. data/lib/pdk/cli/env.rb +49 -47
  13. data/lib/pdk/cli/errors.rb +1 -2
  14. data/lib/pdk/cli/exec/command.rb +23 -29
  15. data/lib/pdk/cli/exec/interactive_command.rb +7 -12
  16. data/lib/pdk/cli/exec.rb +4 -11
  17. data/lib/pdk/cli/exec_group.rb +3 -2
  18. data/lib/pdk/cli/get/config.rb +21 -19
  19. data/lib/pdk/cli/get.rb +15 -13
  20. data/lib/pdk/cli/new/class.rb +22 -22
  21. data/lib/pdk/cli/new/defined_type.rb +22 -22
  22. data/lib/pdk/cli/new/fact.rb +19 -19
  23. data/lib/pdk/cli/new/function.rb +20 -20
  24. data/lib/pdk/cli/new/module.rb +40 -38
  25. data/lib/pdk/cli/new/provider.rb +19 -19
  26. data/lib/pdk/cli/new/task.rb +23 -23
  27. data/lib/pdk/cli/new/test.rb +50 -48
  28. data/lib/pdk/cli/new/transport.rb +18 -18
  29. data/lib/pdk/cli/new.rb +11 -9
  30. data/lib/pdk/cli/release/prep.rb +27 -25
  31. data/lib/pdk/cli/release/publish.rb +39 -37
  32. data/lib/pdk/cli/release.rb +152 -149
  33. data/lib/pdk/cli/remove/config.rb +63 -60
  34. data/lib/pdk/cli/remove.rb +15 -13
  35. data/lib/pdk/cli/set/config.rb +91 -89
  36. data/lib/pdk/cli/set.rb +15 -13
  37. data/lib/pdk/cli/test/unit.rb +71 -69
  38. data/lib/pdk/cli/test.rb +9 -7
  39. data/lib/pdk/cli/update.rb +33 -38
  40. data/lib/pdk/cli/util/command_redirector.rb +10 -1
  41. data/lib/pdk/cli/util/interview.rb +11 -4
  42. data/lib/pdk/cli/util/option_normalizer.rb +2 -4
  43. data/lib/pdk/cli/util/option_validator.rb +7 -9
  44. data/lib/pdk/cli/util/update_manager_printer.rb +4 -4
  45. data/lib/pdk/cli/util.rb +32 -48
  46. data/lib/pdk/cli/validate.rb +98 -96
  47. data/lib/pdk/cli.rb +124 -120
  48. data/lib/pdk/config/ini_file.rb +4 -3
  49. data/lib/pdk/config/ini_file_setting.rb +6 -10
  50. data/lib/pdk/config/json.rb +1 -0
  51. data/lib/pdk/config/json_schema_namespace.rb +5 -10
  52. data/lib/pdk/config/json_schema_setting.rb +3 -5
  53. data/lib/pdk/config/json_with_schema.rb +2 -4
  54. data/lib/pdk/config/namespace.rb +19 -13
  55. data/lib/pdk/config/setting.rb +5 -6
  56. data/lib/pdk/config/task_schema.json +116 -0
  57. data/lib/pdk/config/validator.rb +4 -4
  58. data/lib/pdk/config/yaml.rb +3 -8
  59. data/lib/pdk/config/yaml_with_schema.rb +4 -12
  60. data/lib/pdk/config.rb +47 -51
  61. data/lib/pdk/context/control_repo.rb +3 -2
  62. data/lib/pdk/context/module.rb +2 -2
  63. data/lib/pdk/context/none.rb +2 -2
  64. data/lib/pdk/context.rb +4 -5
  65. data/lib/pdk/control_repo.rb +3 -4
  66. data/lib/pdk/generate/defined_type.rb +3 -3
  67. data/lib/pdk/generate/fact.rb +3 -2
  68. data/lib/pdk/generate/function.rb +5 -4
  69. data/lib/pdk/generate/module.rb +91 -106
  70. data/lib/pdk/generate/provider.rb +5 -4
  71. data/lib/pdk/generate/puppet_class.rb +3 -3
  72. data/lib/pdk/generate/puppet_object.rb +9 -12
  73. data/lib/pdk/generate/task.rb +11 -10
  74. data/lib/pdk/generate/transport.rb +8 -7
  75. data/lib/pdk/generate.rb +1 -1
  76. data/lib/pdk/logger.rb +3 -2
  77. data/lib/pdk/module/build.rb +34 -49
  78. data/lib/pdk/module/convert.rb +13 -22
  79. data/lib/pdk/module/metadata.rb +53 -61
  80. data/lib/pdk/module/release.rb +19 -25
  81. data/lib/pdk/module/update.rb +4 -13
  82. data/lib/pdk/module/update_manager.rb +18 -25
  83. data/lib/pdk/module.rb +1 -1
  84. data/lib/pdk/monkey_patches.rb +268 -0
  85. data/lib/pdk/report/event.rb +12 -37
  86. data/lib/pdk/report.rb +4 -4
  87. data/lib/pdk/template/fetcher/git.rb +7 -8
  88. data/lib/pdk/template/fetcher/local.rb +1 -0
  89. data/lib/pdk/template/fetcher.rb +4 -2
  90. data/lib/pdk/template/renderer/v1/legacy_template_dir.rb +4 -9
  91. data/lib/pdk/template/renderer/v1/renderer.rb +19 -20
  92. data/lib/pdk/template/renderer/v1/template_file.rb +4 -8
  93. data/lib/pdk/template/renderer/v1.rb +1 -1
  94. data/lib/pdk/template/renderer.rb +1 -0
  95. data/lib/pdk/template/template_dir.rb +3 -3
  96. data/lib/pdk/template.rb +2 -6
  97. data/lib/pdk/tests/unit.rb +36 -25
  98. data/lib/pdk/util/bundler.rb +10 -14
  99. data/lib/pdk/util/changelog_generator.rb +15 -12
  100. data/lib/pdk/util/env.rb +1 -0
  101. data/lib/pdk/util/filesystem.rb +18 -17
  102. data/lib/pdk/util/git.rb +16 -21
  103. data/lib/pdk/util/json_finder.rb +7 -6
  104. data/lib/pdk/util/puppet_strings.rb +1 -1
  105. data/lib/pdk/util/puppet_version.rb +16 -67
  106. data/lib/pdk/util/ruby_version.rb +9 -13
  107. data/lib/pdk/util/template_uri.rb +17 -29
  108. data/lib/pdk/util/vendored_file.rb +5 -18
  109. data/lib/pdk/util/windows/api_types.rb +70 -64
  110. data/lib/pdk/util/windows/file.rb +31 -27
  111. data/lib/pdk/util/windows/process.rb +59 -61
  112. data/lib/pdk/util/windows/string.rb +19 -12
  113. data/lib/pdk/util.rb +12 -20
  114. data/lib/pdk/validate/control_repo/control_repo_validator_group.rb +1 -1
  115. data/lib/pdk/validate/control_repo/environment_conf_validator.rb +25 -25
  116. data/lib/pdk/validate/external_command_validator.rb +6 -1
  117. data/lib/pdk/validate/internal_ruby_validator.rb +5 -4
  118. data/lib/pdk/validate/invokable_validator.rb +30 -20
  119. data/lib/pdk/validate/metadata/metadata_json_lint_validator.rb +12 -14
  120. data/lib/pdk/validate/metadata/metadata_syntax_validator.rb +13 -15
  121. data/lib/pdk/validate/metadata/metadata_validator_group.rb +1 -1
  122. data/lib/pdk/validate/puppet/puppet_epp_validator.rb +16 -18
  123. data/lib/pdk/validate/puppet/puppet_lint_validator.rb +14 -14
  124. data/lib/pdk/validate/puppet/puppet_plan_syntax_validator.rb +1 -1
  125. data/lib/pdk/validate/puppet/puppet_syntax_validator.rb +16 -18
  126. data/lib/pdk/validate/puppet/puppet_validator_group.rb +1 -1
  127. data/lib/pdk/validate/ruby/ruby_rubocop_validator.rb +10 -11
  128. data/lib/pdk/validate/ruby/ruby_validator_group.rb +1 -1
  129. data/lib/pdk/validate/tasks/tasks_metadata_lint_validator.rb +19 -24
  130. data/lib/pdk/validate/tasks/tasks_name_validator.rb +11 -13
  131. data/lib/pdk/validate/tasks/tasks_validator_group.rb +1 -1
  132. data/lib/pdk/validate/validator.rb +4 -2
  133. data/lib/pdk/validate/validator_group.rb +6 -3
  134. data/lib/pdk/validate/yaml/yaml_syntax_validator.rb +27 -36
  135. data/lib/pdk/validate/yaml/yaml_validator_group.rb +1 -1
  136. data/lib/pdk/validate.rb +6 -6
  137. data/lib/pdk/version.rb +2 -2
  138. data/lib/pdk.rb +12 -12
  139. metadata +27 -35
  140. data/lib/pdk/cli/config/get.rb +0 -26
  141. data/lib/pdk/cli/config.rb +0 -22
  142. data/lib/pdk/cli/module/build.rb +0 -12
  143. data/lib/pdk/cli/module/generate.rb +0 -47
  144. data/lib/pdk/cli/module.rb +0 -14
@@ -4,8 +4,6 @@ module PDK
4
4
  module Validate
5
5
  module Tasks
6
6
  class TasksMetadataLintValidator < InternalRubyValidator
7
- FORGE_SCHEMA_URL = 'https://forgeapi.puppet.com/schemas/task.json'.freeze
8
-
9
7
  def name
10
8
  'task-metadata-lint'
11
9
  end
@@ -15,19 +13,16 @@ module PDK
15
13
  end
16
14
 
17
15
  def spinner_text
18
- 'Checking task metadata style (%{pattern}).' % {
19
- pattern: pattern.join(' '),
20
- }
16
+ format('Checking task metadata style (%{pattern}).', pattern: pattern.join(' '))
21
17
  end
22
18
 
23
19
  def schema_file
24
- require 'pdk/util/vendored_file'
20
+ require 'pdk/config'
25
21
 
26
- schema = PDK::Util::VendoredFile.new('task.json', FORGE_SCHEMA_URL).read
22
+ path = PDK::Config.json_schema('task')
23
+ schema = PDK::Util::Filesystem.read_file(path)
27
24
 
28
25
  JSON.parse(schema)
29
- rescue PDK::Util::VendoredFile::DownloadError => e
30
- raise PDK::CLI::FatalError, e.message
31
26
  rescue JSON::ParserError
32
27
  raise PDK::CLI::FatalError, 'Failed to parse Task Metadata Schema file.'
33
28
  end
@@ -35,11 +30,11 @@ module PDK
35
30
  def validate_target(report, target)
36
31
  unless PDK::Util::Filesystem.readable?(target)
37
32
  report.add_event(
38
- file: target,
39
- source: name,
40
- state: :failure,
33
+ file: target,
34
+ source: name,
35
+ state: :failure,
41
36
  severity: 'error',
42
- message: 'Could not be read.',
37
+ message: 'Could not be read.'
43
38
  )
44
39
  return 1
45
40
  end
@@ -54,31 +49,31 @@ module PDK
54
49
  begin
55
50
  errors = JSON::Validator.fully_validate(schema_file, PDK::Util::Filesystem.read_file(target)) || []
56
51
  rescue JSON::Schema::SchemaError => e
57
- raise PDK::CLI::FatalError, 'Unable to validate Task Metadata. %{error}.' % { error: e.message }
52
+ raise PDK::CLI::FatalError, format('Unable to validate Task Metadata. %{error}.', error: e.message)
58
53
  end
59
54
 
60
55
  if errors.empty?
61
56
  report.add_event(
62
- file: target,
63
- source: name,
64
- state: :passed,
65
- severity: 'ok',
57
+ file: target,
58
+ source: name,
59
+ state: :passed,
60
+ severity: 'ok'
66
61
  )
67
- return 0
62
+ 0
68
63
  else
69
64
  errors.each do |error|
70
65
  # strip off the trailing parts that aren't relevant
71
66
  error = error.split('in schema').first if error.include? 'in schema'
72
67
 
73
68
  report.add_event(
74
- file: target,
75
- source: name,
76
- state: :failure,
69
+ file: target,
70
+ source: name,
71
+ state: :failure,
77
72
  severity: 'error',
78
- message: error,
73
+ message: error
79
74
  )
80
75
  end
81
- return 1
76
+ 1
82
77
  end
83
78
  end
84
79
  end
@@ -15,30 +15,28 @@ module PDK
15
15
  end
16
16
 
17
17
  def spinner_text
18
- 'Checking task names (%{pattern}).' % {
19
- pattern: pattern.join(' '),
20
- }
18
+ format('Checking task names (%{pattern}).', pattern: pattern.join(' '))
21
19
  end
22
20
 
23
21
  def validate_target(report, target)
24
22
  task_name = File.basename(target, File.extname(target))
25
23
  if PDK::CLI::Util::OptionValidator.valid_task_name?(task_name)
26
24
  report.add_event(
27
- file: target,
28
- source: name,
29
- state: :passed,
30
- severity: 'ok',
25
+ file: target,
26
+ source: name,
27
+ state: :passed,
28
+ severity: 'ok'
31
29
  )
32
- return 0
30
+ 0
33
31
  else
34
32
  report.add_event(
35
- file: target,
36
- source: name,
37
- state: :failure,
33
+ file: target,
34
+ source: name,
35
+ state: :failure,
38
36
  severity: 'error',
39
- message: INVALID_TASK_MSG,
37
+ message: INVALID_TASK_MSG
40
38
  )
41
- return 1
39
+ 1
42
40
  end
43
41
  end
44
42
  end
@@ -11,7 +11,7 @@ module PDK
11
11
  def validators
12
12
  [
13
13
  TasksNameValidator,
14
- TasksMetadataLintValidator,
14
+ TasksMetadataLintValidator
15
15
  ].freeze
16
16
  end
17
17
  end
@@ -33,7 +33,8 @@ module PDK
33
33
  if context.nil?
34
34
  @context = PDK::Context::None.new(nil)
35
35
  else
36
- raise ArgumentError, 'Expected PDK::Context::AbstractContext but got \'%{klass}\' for context' % { klass: context.class } unless context.is_a?(PDK::Context::AbstractContext)
36
+ raise ArgumentError, format('Expected PDK::Context::AbstractContext but got \'%{klass}\' for context', klass: context.class) unless context.is_a?(PDK::Context::AbstractContext)
37
+
37
38
  @context = context
38
39
  end
39
40
  @options = options.dup.freeze
@@ -76,7 +77,7 @@ module PDK
76
77
  # Start the spinner if it exists
77
78
  # @api private
78
79
  def start_spinner
79
- spinner.auto_spin unless spinner.nil?
80
+ spinner&.auto_spin
80
81
  nil
81
82
  end
82
83
 
@@ -84,6 +85,7 @@ module PDK
84
85
  # @api private
85
86
  def stop_spinner(success)
86
87
  return if spinner.nil?
88
+
87
89
  success ? spinner.success : spinner.error
88
90
  nil
89
91
  end
@@ -32,13 +32,14 @@ module PDK
32
32
  class ValidatorGroup < Validator
33
33
  # @see PDK::Validate::Validator.spinner_text
34
34
  def spinner_text
35
- 'Running %{name} validators ...' % { name: name }
35
+ format('Running %{name} validators ...', name: name)
36
36
  end
37
37
 
38
38
  # @see PDK::Validate::Validator.spinner
39
39
  def spinner
40
40
  return nil unless spinners_enabled?
41
41
  return @spinner unless @spinner.nil?
42
+
42
43
  require 'pdk/cli/util/spinner'
43
44
 
44
45
  @spinner = TTY::Spinner::Multi.new("[:spinner] #{spinner_text}", PDK::CLI::Util.spinner_opts_for_platform)
@@ -46,6 +47,7 @@ module PDK
46
47
  # Register the child spinners
47
48
  validator_instances.each do |instance|
48
49
  next if instance.spinner.nil?
50
+
49
51
  @spinner.register(instance.spinner)
50
52
  end
51
53
 
@@ -58,13 +60,14 @@ module PDK
58
60
  # @see PDK::Validate::Validator.prepare_invoke!
59
61
  def prepare_invoke!
60
62
  return if @prepared
63
+
61
64
  super
62
65
 
63
66
  # Force the spinner to be registered etc.
64
67
  spinner
65
68
 
66
69
  # Prepare child validators
67
- validator_instances.each { |instance| instance.prepare_invoke! }
70
+ validator_instances.each(&:prepare_invoke!)
68
71
  nil
69
72
  end
70
73
 
@@ -97,7 +100,7 @@ module PDK
97
100
  # @api private
98
101
  def validator_instances
99
102
  @validator_instances ||= validators.map { |klass| klass.new(context, options.merge(parent_validator: self)) }
100
- .select { |instance| instance.valid_in_context? }
103
+ .select(&:valid_in_context?)
101
104
  end
102
105
  end
103
106
  end
@@ -17,14 +17,12 @@ module PDK
17
17
  def pattern
18
18
  [
19
19
  '**/*.yaml',
20
- '**/*.yml',
20
+ '**/*.yml'
21
21
  ].tap do |pat|
22
22
  if context.is_a?(PDK::Context::ControlRepo)
23
- pat.concat(
24
- [
25
- '**/*.eyaml',
26
- '**/*.eyml',
27
- ],
23
+ pat.push(
24
+ '**/*.eyaml',
25
+ '**/*.eyml'
28
26
  )
29
27
  else
30
28
  pat
@@ -33,9 +31,7 @@ module PDK
33
31
  end
34
32
 
35
33
  def spinner_text
36
- 'Checking YAML syntax (%{patterns}).' % {
37
- patterns: pattern.join(' '),
38
- }
34
+ format('Checking YAML syntax (%{patterns}).', patterns: pattern.join(' '))
39
35
  end
40
36
 
41
37
  def validate_target(report, target)
@@ -43,50 +39,45 @@ module PDK
43
39
 
44
40
  unless PDK::Util::Filesystem.readable?(target)
45
41
  report.add_event(
46
- file: target,
47
- source: name,
48
- state: :failure,
42
+ file: target,
43
+ source: name,
44
+ state: :failure,
49
45
  severity: 'error',
50
- message: 'Could not be read.',
46
+ message: 'Could not be read.'
51
47
  )
52
48
  return 1
53
49
  end
54
50
 
55
51
  begin
56
- ::YAML.safe_load(PDK::Util::Filesystem.read_file(target), YAML_ALLOWLISTED_CLASSES, [], true)
52
+ ::YAML.safe_load(PDK::Util::Filesystem.read_file(target), permitted_classes: YAML_ALLOWLISTED_CLASSES, permitted_symbols: [], aliases: true)
57
53
 
58
54
  report.add_event(
59
- file: target,
60
- source: name,
61
- state: :passed,
62
- severity: 'ok',
55
+ file: target,
56
+ source: name,
57
+ state: :passed,
58
+ severity: 'ok'
63
59
  )
64
- return 0
60
+ 0
65
61
  rescue Psych::SyntaxError => e
66
62
  report.add_event(
67
- file: target,
68
- source: name,
69
- state: :failure,
63
+ file: target,
64
+ source: name,
65
+ state: :failure,
70
66
  severity: 'error',
71
- line: e.line,
72
- column: e.column,
73
- message: '%{problem} %{context}' % {
74
- problem: e.problem,
75
- context: e.context,
76
- },
67
+ line: e.line,
68
+ column: e.column,
69
+ message: format('%{problem} %{context}', problem: e.problem, context: e.context)
77
70
  )
78
- return 1
71
+ 1
79
72
  rescue Psych::DisallowedClass => e
80
73
  report.add_event(
81
- file: target,
82
- source: name,
83
- state: :failure,
74
+ file: target,
75
+ source: name,
76
+ state: :failure,
84
77
  severity: 'error',
85
- message: 'Unsupported class: %{message}' % {
86
- message: e.message,
87
- },
78
+ message: format('Unsupported class: %{message}', message: e.message)
88
79
  )
89
- return 1
80
+ 1
90
81
  end
91
82
  end
92
83
  end
@@ -10,7 +10,7 @@ module PDK
10
10
 
11
11
  def validators
12
12
  [
13
- YAMLSyntaxValidator,
13
+ YAMLSyntaxValidator
14
14
  ].freeze
15
15
  end
16
16
  end
data/lib/pdk/validate.rb CHANGED
@@ -60,15 +60,15 @@ module PDK
60
60
  Puppet::PuppetValidatorGroup,
61
61
  Ruby::RubyValidatorGroup,
62
62
  Tasks::TasksValidatorGroup,
63
- YAML::YAMLValidatorGroup,
64
- ].map { |klass| [klass.new.name, klass] }.to_h.freeze
63
+ YAML::YAMLValidatorGroup
64
+ ].to_h { |klass| [klass.new.name, klass] }.freeze
65
65
  end
66
66
 
67
67
  def self.invoke_validators_by_name(context, names, parallel = false, options = {})
68
68
  instances = names.select { |name| validator_names.include?(name) }
69
69
  .map { |name| validator_hash[name].new(context, options) }
70
- .select { |instance| instance.valid_in_context? }
71
- .each { |instance| instance.prepare_invoke! }
70
+ .select(&:valid_in_context?)
71
+ .each(&:prepare_invoke!)
72
72
  report = PDK::Report.new
73
73
 
74
74
  # Nothing to validate then nothing to do.
@@ -76,9 +76,9 @@ module PDK
76
76
 
77
77
  require 'pdk/cli/exec_group'
78
78
  exec_group = PDK::CLI::ExecGroup.create(
79
- 'Validating module using %{num_of_threads} threads' % { num_of_threads: instances.count },
79
+ format('Validating module using %{num_of_threads} threads', num_of_threads: instances.count),
80
80
  { parallel: parallel },
81
- options,
81
+ options
82
82
  )
83
83
 
84
84
  instances.each do |validator|
data/lib/pdk/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module PDK
2
- VERSION = '2.7.0'.freeze
3
- TEMPLATE_REF = '2.7.2'.freeze
2
+ VERSION = '3.0.0'.freeze
3
+ TEMPLATE_REF = '3.0.0'.freeze
4
4
  end
data/lib/pdk.rb CHANGED
@@ -35,6 +35,7 @@ module PDK
35
35
 
36
36
  def self.config
37
37
  return @config unless @config.nil?
38
+
38
39
  options = {}
39
40
  options['user.module_defaults.path'] = PDK::Util::Env['PDK_ANSWER_FILE'] unless PDK::Util::Env['PDK_ANSWER_FILE'].nil?
40
41
  @config = PDK::Config.new(options)
@@ -45,30 +46,29 @@ module PDK
45
46
  end
46
47
 
47
48
  def self.available_feature_flags
48
- @available_feature_flags ||= %w[
49
- controlrepo
50
- ].freeze
49
+ @available_feature_flags ||= ['controlrepo'].freeze
51
50
  end
52
51
 
53
52
  def self.requested_feature_flags
54
- @requested_feature_flags ||= (PDK::Util::Env['PDK_FEATURE_FLAGS'] || '').split(',').map { |flag| flag.strip }
53
+ @requested_feature_flags ||= (PDK::Util::Env['PDK_FEATURE_FLAGS'] || '').split(',').map(&:strip)
55
54
  end
56
55
 
57
56
  def self.feature_flag?(flagname)
58
57
  return false unless available_feature_flags.include?(flagname)
58
+
59
59
  requested_feature_flags.include?(flagname)
60
60
  end
61
61
 
62
62
  def self.analytics
63
63
  @analytics ||= PDK::Analytics.build_client(
64
- logger: PDK.logger,
65
- disabled: PDK::Util::Env['PDK_DISABLE_ANALYTICS'] || PDK.config.get_within_scopes('analytics.disabled', %w[user system]),
66
- user_id: PDK.config.get_within_scopes('analytics.user-id', %w[user system]),
67
- app_id: "UA-139917834-#{PDK::Util.development_mode? ? '2' : '1'}",
68
- client: :google_analytics,
69
- app_name: 'pdk',
70
- app_version: PDK::VERSION,
71
- app_installer: PDK::Util.package_install? ? 'package' : 'gem',
64
+ logger: PDK.logger,
65
+ disabled: PDK::Util::Env['PDK_DISABLE_ANALYTICS'] || PDK.config.get_within_scopes('analytics.disabled', ['user', 'system']),
66
+ user_id: PDK.config.get_within_scopes('analytics.user-id', ['user', 'system']),
67
+ app_id: "UA-139917834-#{PDK::Util.development_mode? ? '2' : '1'}",
68
+ client: :google_analytics,
69
+ app_name: 'pdk',
70
+ app_version: PDK::VERSION,
71
+ app_installer: PDK::Util.package_install? ? 'package' : 'gem'
72
72
  )
73
73
  end
74
74
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet, Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-14 00:00:00.000000000 Z
11
+ date: 2023-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.3.0
19
+ version: 2.1.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 3.0.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 2.3.0
29
+ version: 2.1.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 3.0.0
@@ -107,61 +107,61 @@ dependencies:
107
107
  - !ruby/object:Gem::Version
108
108
  version: 2.0.0
109
109
  - !ruby/object:Gem::Dependency
110
- name: json-schema
110
+ name: json_pure
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - '='
113
+ - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: 2.8.0
115
+ version: 2.6.3
116
116
  type: :runtime
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - '='
120
+ - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: 2.8.0
122
+ version: 2.6.3
123
123
  - !ruby/object:Gem::Dependency
124
- name: json_pure
124
+ name: json-schema
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: 2.6.2
129
+ version: '4.0'
130
130
  type: :runtime
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - "~>"
135
135
  - !ruby/object:Gem::Version
136
- version: 2.6.2
136
+ version: '4.0'
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: minitar
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - "~>"
142
142
  - !ruby/object:Gem::Version
143
- version: '0.6'
143
+ version: '0.8'
144
144
  type: :runtime
145
145
  prerelease: false
146
146
  version_requirements: !ruby/object:Gem::Requirement
147
147
  requirements:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
- version: '0.6'
150
+ version: '0.8'
151
151
  - !ruby/object:Gem::Dependency
152
152
  name: pathspec
153
153
  requirement: !ruby/object:Gem::Requirement
154
154
  requirements:
155
155
  - - "~>"
156
156
  - !ruby/object:Gem::Version
157
- version: 0.2.1
157
+ version: '1.1'
158
158
  type: :runtime
159
159
  prerelease: false
160
160
  version_requirements: !ruby/object:Gem::Requirement
161
161
  requirements:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
- version: 0.2.1
164
+ version: '1.1'
165
165
  - !ruby/object:Gem::Dependency
166
166
  name: tty-prompt
167
167
  requirement: !ruby/object:Gem::Requirement
@@ -208,36 +208,30 @@ dependencies:
208
208
  name: concurrent-ruby
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - "~>"
211
+ - - '='
212
212
  - !ruby/object:Gem::Version
213
213
  version: 1.1.10
214
214
  type: :runtime
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - "~>"
218
+ - - '='
219
219
  - !ruby/object:Gem::Version
220
220
  version: 1.1.10
221
221
  - !ruby/object:Gem::Dependency
222
222
  name: facter
223
223
  requirement: !ruby/object:Gem::Requirement
224
224
  requirements:
225
- - - ">="
226
- - !ruby/object:Gem::Version
227
- version: 4.0.0
228
- - - "<"
225
+ - - "~>"
229
226
  - !ruby/object:Gem::Version
230
- version: 5.0.0
227
+ version: '4.0'
231
228
  type: :runtime
232
229
  prerelease: false
233
230
  version_requirements: !ruby/object:Gem::Requirement
234
231
  requirements:
235
- - - ">="
236
- - !ruby/object:Gem::Version
237
- version: 4.0.0
238
- - - "<"
232
+ - - "~>"
239
233
  - !ruby/object:Gem::Version
240
- version: 5.0.0
234
+ version: '4.0'
241
235
  - !ruby/object:Gem::Dependency
242
236
  name: httpclient
243
237
  requirement: !ruby/object:Gem::Requirement
@@ -288,8 +282,6 @@ files:
288
282
  - lib/pdk/cli.rb
289
283
  - lib/pdk/cli/build.rb
290
284
  - lib/pdk/cli/bundle.rb
291
- - lib/pdk/cli/config.rb
292
- - lib/pdk/cli/config/get.rb
293
285
  - lib/pdk/cli/console.rb
294
286
  - lib/pdk/cli/convert.rb
295
287
  - lib/pdk/cli/env.rb
@@ -300,9 +292,6 @@ files:
300
292
  - lib/pdk/cli/exec_group.rb
301
293
  - lib/pdk/cli/get.rb
302
294
  - lib/pdk/cli/get/config.rb
303
- - lib/pdk/cli/module.rb
304
- - lib/pdk/cli/module/build.rb
305
- - lib/pdk/cli/module/generate.rb
306
295
  - lib/pdk/cli/new.rb
307
296
  - lib/pdk/cli/new/class.rb
308
297
  - lib/pdk/cli/new/defined_type.rb
@@ -342,6 +331,7 @@ files:
342
331
  - lib/pdk/config/json_with_schema.rb
343
332
  - lib/pdk/config/namespace.rb
344
333
  - lib/pdk/config/setting.rb
334
+ - lib/pdk/config/task_schema.json
345
335
  - lib/pdk/config/validator.rb
346
336
  - lib/pdk/config/yaml.rb
347
337
  - lib/pdk/config/yaml_with_schema.rb
@@ -368,6 +358,7 @@ files:
368
358
  - lib/pdk/module/release.rb
369
359
  - lib/pdk/module/update.rb
370
360
  - lib/pdk/module/update_manager.rb
361
+ - lib/pdk/monkey_patches.rb
371
362
  - lib/pdk/report.rb
372
363
  - lib/pdk/report/event.rb
373
364
  - lib/pdk/template.rb
@@ -425,7 +416,8 @@ files:
425
416
  - lib/pdk/version.rb
426
417
  homepage: https://github.com/puppetlabs/pdk
427
418
  licenses: []
428
- metadata: {}
419
+ metadata:
420
+ rubygems_mfa_required: 'true'
429
421
  post_install_message:
430
422
  rdoc_options: []
431
423
  require_paths:
@@ -434,7 +426,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
434
426
  requirements:
435
427
  - - ">="
436
428
  - !ruby/object:Gem::Version
437
- version: 2.5.9
429
+ version: 2.7.0
438
430
  required_rubygems_version: !ruby/object:Gem::Requirement
439
431
  requirements:
440
432
  - - ">="
@@ -1,26 +0,0 @@
1
- module PDK::CLI
2
- @config_get_cmd = @config_cmd.define_command do
3
- name 'get'
4
- usage 'config get [name]'
5
- summary '(Deprecated) Retrieve the configuration for <name>. If not specified, retrieve all configuration settings'
6
-
7
- run do |_opts, args, _cmd|
8
- PDK.logger.warn 'The \'pdk config get\' command is deprecated, please use \'pdk get config\' instead.'
9
-
10
- item_name = args[0]
11
- resolved_config = PDK.config.resolve(item_name)
12
- # If the user wanted to know a setting but it doesn't exist, raise an error
13
- if resolved_config.empty? && !item_name.nil?
14
- PDK.logger.error("Configuration item '%{name}' does not exist" % { name: item_name })
15
- exit 1
16
- end
17
- # If the user requested a setting and it's the only one resolved, then just output the value
18
- if resolved_config.count == 1 && resolved_config.keys[0] == item_name
19
- puts '%{value}' % { value: resolved_config.values[0] }
20
- exit 0
21
- end
22
- # Otherwise just output everything
23
- resolved_config.keys.sort.each { |key| puts '%{name}=%{value}' % { name: key, value: resolved_config[key] } }
24
- end
25
- end
26
- end
@@ -1,22 +0,0 @@
1
- module PDK::CLI
2
- @config_cmd = @base_cmd.define_command do
3
- name 'config'
4
- usage 'config [subcommand] [options]'
5
- summary '(Deprecated) Configure the Puppet Development Kit.'
6
- default_subcommand 'help'
7
-
8
- run do |_opts, args, _cmd|
9
- PDK.logger.warn 'The \'pdk config\' command is deprecated, please use \'pdk get config\' and \'pdk set config\' instead.'
10
-
11
- if args == ['help']
12
- PDK::CLI.run(%w[config --help])
13
- exit 0
14
- end
15
-
16
- PDK::CLI.run(%w[config help]) if args.empty?
17
- end
18
- end
19
- @config_cmd.add_command Cri::Command.new_basic_help
20
- end
21
-
22
- require 'pdk/cli/config/get'