pdk 1.2.1 → 1.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +300 -21
- data/lib/pdk/cli.rb +3 -2
- data/lib/pdk/cli/bundle.rb +0 -2
- data/lib/pdk/cli/convert.rb +25 -0
- data/lib/pdk/cli/exec.rb +4 -34
- data/lib/pdk/cli/exec_group.rb +2 -2
- data/lib/pdk/cli/module.rb +2 -3
- data/lib/pdk/cli/module/generate.rb +9 -4
- data/lib/pdk/cli/new/class.rb +1 -1
- data/lib/pdk/cli/new/module.rb +12 -9
- data/lib/pdk/cli/test/unit.rb +16 -7
- data/lib/pdk/cli/util.rb +47 -4
- data/lib/pdk/generate.rb +4 -4
- data/lib/pdk/{generators → generate}/defined_type.rb +1 -1
- data/lib/pdk/{generators → generate}/module.rb +47 -58
- data/lib/pdk/{generators → generate}/puppet_class.rb +1 -1
- data/lib/pdk/{generators → generate}/puppet_object.rb +1 -1
- data/lib/pdk/{generators → generate}/task.rb +1 -1
- data/lib/pdk/module/convert.rb +163 -0
- data/lib/pdk/module/metadata.rb +11 -3
- data/lib/pdk/module/templatedir.rb +81 -42
- data/lib/pdk/module/update_manager.rb +203 -0
- data/lib/pdk/tests/unit.rb +7 -6
- data/lib/pdk/util.rb +42 -1
- data/lib/pdk/util/bundler.rb +2 -2
- data/lib/pdk/util/git.rb +36 -0
- data/lib/pdk/util/version.rb +2 -1
- data/lib/pdk/validate.rb +3 -3
- data/lib/pdk/{validators → validate}/base_validator.rb +0 -0
- data/lib/pdk/{validators → validate}/metadata/metadata_json_lint.rb +1 -1
- data/lib/pdk/{validators → validate}/metadata/metadata_syntax.rb +2 -2
- data/lib/pdk/{validators → validate}/metadata/task_metadata_lint.rb +3 -3
- data/lib/pdk/{validators → validate}/metadata_validator.rb +4 -4
- data/lib/pdk/{validators → validate}/puppet/puppet_lint.rb +1 -1
- data/lib/pdk/{validators → validate}/puppet/puppet_syntax.rb +1 -1
- data/lib/pdk/{validators → validate}/puppet_validator.rb +3 -3
- data/lib/pdk/{validators → validate}/ruby/rubocop.rb +2 -2
- data/lib/pdk/{validators → validate}/ruby_validator.rb +2 -2
- data/lib/pdk/version.rb +2 -1
- metadata +36 -18
data/lib/pdk/tests/unit.rb
CHANGED
@@ -6,9 +6,10 @@ require 'json'
|
|
6
6
|
module PDK
|
7
7
|
module Test
|
8
8
|
class Unit
|
9
|
-
def self.cmd(
|
10
|
-
|
11
|
-
|
9
|
+
def self.cmd(tests, opts = {})
|
10
|
+
rake_args = opts.key?(:parallel) ? 'parallel_spec' : 'spec'
|
11
|
+
rake_args += "[#{tests}]" unless tests.nil?
|
12
|
+
rake_args
|
12
13
|
end
|
13
14
|
|
14
15
|
def self.rake_bin
|
@@ -30,8 +31,8 @@ module PDK
|
|
30
31
|
|
31
32
|
def self.parallel_with_no_tests?(ran_in_parallel, json_result, result)
|
32
33
|
ran_in_parallel && json_result.empty? &&
|
33
|
-
!result[:exit_code].zero? &&
|
34
|
-
|
34
|
+
((!result[:exit_code].zero? && result[:stderr].strip =~ %r{Pass files or folders to run$}) ||
|
35
|
+
result[:stderr].strip =~ %r{No files for parallel_spec to run against$})
|
35
36
|
end
|
36
37
|
|
37
38
|
def self.print_failure(result, exception)
|
@@ -199,7 +200,7 @@ module PDK
|
|
199
200
|
else
|
200
201
|
examples = []
|
201
202
|
rspec_json['examples'].each do |example|
|
202
|
-
examples << { id: example['id'], full_description: example['full_description'] }
|
203
|
+
examples << { file_path: example['file_path'], id: example['id'], full_description: example['full_description'] }
|
203
204
|
end
|
204
205
|
examples
|
205
206
|
end
|
data/lib/pdk/util.rb
CHANGED
@@ -58,8 +58,13 @@ module PDK
|
|
58
58
|
end
|
59
59
|
module_function :package_install?
|
60
60
|
|
61
|
+
def development_mode?
|
62
|
+
!PDK::Util::Version.git_ref.nil?
|
63
|
+
end
|
64
|
+
module_function :development_mode?
|
65
|
+
|
61
66
|
def gem_install?
|
62
|
-
!package_install?
|
67
|
+
!(package_install? || development_mode?)
|
63
68
|
end
|
64
69
|
module_function :gem_install?
|
65
70
|
|
@@ -166,5 +171,41 @@ module PDK
|
|
166
171
|
end
|
167
172
|
end
|
168
173
|
module_function :targets_relative_to_pwd
|
174
|
+
|
175
|
+
def default_template_url
|
176
|
+
if !PDK.answers['template-url'].nil?
|
177
|
+
PDK.answers['template-url']
|
178
|
+
else
|
179
|
+
puppetlabs_template_url
|
180
|
+
end
|
181
|
+
end
|
182
|
+
module_function :default_template_url
|
183
|
+
|
184
|
+
def puppetlabs_template_url
|
185
|
+
if package_install?
|
186
|
+
'file://' + File.join(package_cachedir, 'pdk-templates.git')
|
187
|
+
else
|
188
|
+
'https://github.com/puppetlabs/pdk-templates'
|
189
|
+
end
|
190
|
+
end
|
191
|
+
module_function :puppetlabs_template_url
|
192
|
+
|
193
|
+
def default_template_ref
|
194
|
+
if !PDK.answers['template-ref'].nil?
|
195
|
+
PDK.answers['template-ref']
|
196
|
+
else
|
197
|
+
puppetlabs_template_ref
|
198
|
+
end
|
199
|
+
end
|
200
|
+
module_function :default_template_ref
|
201
|
+
|
202
|
+
def puppetlabs_template_ref
|
203
|
+
if PDK::Util.package_install? || PDK::Util.gem_install?
|
204
|
+
PDK::TEMPLATE_REF
|
205
|
+
else
|
206
|
+
'origin/master'
|
207
|
+
end
|
208
|
+
end
|
209
|
+
module_function :puppetlabs_template_ref
|
169
210
|
end
|
170
211
|
end
|
data/lib/pdk/util/bundler.rb
CHANGED
@@ -77,7 +77,7 @@ module PDK
|
|
77
77
|
PDK.logger.debug(_('Checking for missing Gemfile dependencies.'))
|
78
78
|
|
79
79
|
argv = ['check', "--gemfile=#{gemfile}"]
|
80
|
-
argv << "--path=#{bundle_cachedir}"
|
80
|
+
argv << "--path=#{bundle_cachedir}" unless PDK::Util.package_install?
|
81
81
|
|
82
82
|
result = bundle_command(*argv).execute!
|
83
83
|
|
@@ -104,7 +104,7 @@ module PDK
|
|
104
104
|
|
105
105
|
def install!
|
106
106
|
argv = ['install', "--gemfile=#{gemfile}", '-j4']
|
107
|
-
argv << "--path=#{bundle_cachedir}"
|
107
|
+
argv << "--path=#{bundle_cachedir}" unless PDK::Util.package_install?
|
108
108
|
|
109
109
|
command = bundle_command(*argv).tap do |c|
|
110
110
|
c.add_spinner(_('Installing missing Gemfile dependencies.'))
|
data/lib/pdk/util/git.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
module PDK
|
2
|
+
module Util
|
3
|
+
module Git
|
4
|
+
def self.git_bindir
|
5
|
+
@git_dir ||= File.join('private', 'git', Gem.win_platform? ? 'cmd' : 'bin')
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.git_paths
|
9
|
+
@paths ||= begin
|
10
|
+
paths = [File.join(PDK::Util.pdk_package_basedir, git_bindir)]
|
11
|
+
|
12
|
+
if Gem.win_platform?
|
13
|
+
paths << File.join(PDK::Util.pdk_package_basedir, 'private', 'git', 'mingw64', 'bin')
|
14
|
+
paths << File.join(PDK::Util.pdk_package_basedir, 'private', 'git', 'mingw64', 'libexec', 'git-core')
|
15
|
+
paths << File.join(PDK::Util.pdk_package_basedir, 'private', 'git', 'usr', 'bin')
|
16
|
+
end
|
17
|
+
|
18
|
+
paths
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.git_bin
|
23
|
+
git_bin = Gem.win_platform? ? 'git.exe' : 'git'
|
24
|
+
vendored_bin_path = File.join(git_bindir, git_bin)
|
25
|
+
|
26
|
+
PDK::CLI::Exec.try_vendored_bin(vendored_bin_path, git_bin)
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.git(*args)
|
30
|
+
PDK::CLI::Exec.ensure_bin_present!(git_bin, 'git')
|
31
|
+
|
32
|
+
PDK::CLI::Exec.execute(git_bin, *args)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/pdk/util/version.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'pdk/version'
|
2
2
|
require 'pdk/cli/exec'
|
3
|
+
require 'pdk/util/git'
|
3
4
|
|
4
5
|
module PDK
|
5
6
|
module Util
|
@@ -27,7 +28,7 @@ module PDK
|
|
27
28
|
|
28
29
|
return nil unless File.directory?(source_git_dir)
|
29
30
|
|
30
|
-
ref_result = PDK::
|
31
|
+
ref_result = PDK::Util::Git.git('--git-dir', source_git_dir, 'describe', '--all', '--long')
|
31
32
|
return ref_result[:stdout].strip if ref_result[:exit_code].zero?
|
32
33
|
end
|
33
34
|
|
data/lib/pdk/validate.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require 'pdk/
|
2
|
-
require 'pdk/
|
3
|
-
require 'pdk/
|
1
|
+
require 'pdk/validate/metadata_validator'
|
2
|
+
require 'pdk/validate/puppet_validator'
|
3
|
+
require 'pdk/validate/ruby_validator'
|
4
4
|
|
5
5
|
module PDK
|
6
6
|
module Validate
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'pdk'
|
2
2
|
require 'pdk/cli/exec'
|
3
|
-
require 'pdk/
|
3
|
+
require 'pdk/validate/base_validator'
|
4
4
|
require 'pathname'
|
5
5
|
|
6
6
|
module PDK
|
@@ -21,7 +21,7 @@ module PDK
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def self.create_spinner(targets = [], options = {})
|
24
|
-
return
|
24
|
+
return unless PDK::CLI::Util.interactive?
|
25
25
|
options = options.merge(PDK::CLI::Util.spinner_opts_for_platform)
|
26
26
|
|
27
27
|
exec_group = options[:exec_group]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'pdk'
|
2
2
|
require 'pdk/cli/exec'
|
3
|
-
require 'pdk/
|
3
|
+
require 'pdk/validate/base_validator'
|
4
4
|
require 'pdk/util'
|
5
5
|
require 'pathname'
|
6
6
|
require 'json-schema'
|
@@ -25,7 +25,7 @@ module PDK
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.create_spinner(targets = [], options = {})
|
28
|
-
return
|
28
|
+
return unless PDK::CLI::Util.interactive?
|
29
29
|
options = options.merge(PDK::CLI::Util.spinner_opts_for_platform)
|
30
30
|
|
31
31
|
exec_group = options[:exec_group]
|
@@ -77,7 +77,7 @@ module PDK
|
|
77
77
|
|
78
78
|
response.body
|
79
79
|
rescue StandardError => e
|
80
|
-
raise PDK::CLI::FatalError, _('Unable to download Task Metadata Schema file.
|
80
|
+
raise PDK::CLI::FatalError, _('Unable to download Task Metadata Schema file. Check internet connectivity and retry this action. %{error}') % { error: e }
|
81
81
|
end
|
82
82
|
|
83
83
|
def self.invoke(report, options = {})
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'pdk'
|
2
2
|
require 'pdk/cli/exec'
|
3
|
-
require 'pdk/
|
4
|
-
require 'pdk/
|
5
|
-
require 'pdk/
|
6
|
-
require 'pdk/
|
3
|
+
require 'pdk/validate/base_validator'
|
4
|
+
require 'pdk/validate/metadata/metadata_json_lint'
|
5
|
+
require 'pdk/validate/metadata/metadata_syntax'
|
6
|
+
require 'pdk/validate/metadata/task_metadata_lint'
|
7
7
|
|
8
8
|
module PDK
|
9
9
|
module Validate
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'pdk'
|
2
2
|
require 'pdk/cli/exec'
|
3
|
-
require 'pdk/
|
4
|
-
require 'pdk/
|
5
|
-
require 'pdk/
|
3
|
+
require 'pdk/validate/base_validator'
|
4
|
+
require 'pdk/validate/puppet/puppet_lint'
|
5
|
+
require 'pdk/validate/puppet/puppet_syntax'
|
6
6
|
|
7
7
|
module PDK
|
8
8
|
module Validate
|
@@ -2,8 +2,8 @@ require 'pdk'
|
|
2
2
|
require 'pdk/cli/exec'
|
3
3
|
require 'pdk/util'
|
4
4
|
require 'pdk/util/bundler'
|
5
|
-
require 'pdk/
|
6
|
-
require 'pdk/
|
5
|
+
require 'pdk/validate/base_validator'
|
6
|
+
require 'pdk/validate/ruby_validator'
|
7
7
|
|
8
8
|
module PDK
|
9
9
|
module Validate
|
data/lib/pdk/version.rb
CHANGED
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: 1.
|
4
|
+
version: 1.3.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: 2017-
|
11
|
+
date: 2017-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 0.3.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: diff-lcs
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.3'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.3'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: deep_merge
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,6 +180,7 @@ files:
|
|
166
180
|
- lib/pdk/answer_file.rb
|
167
181
|
- lib/pdk/cli.rb
|
168
182
|
- lib/pdk/cli/bundle.rb
|
183
|
+
- lib/pdk/cli/convert.rb
|
169
184
|
- lib/pdk/cli/errors.rb
|
170
185
|
- lib/pdk/cli/exec.rb
|
171
186
|
- lib/pdk/cli/exec_group.rb
|
@@ -185,34 +200,37 @@ files:
|
|
185
200
|
- lib/pdk/cli/util/option_validator.rb
|
186
201
|
- lib/pdk/cli/validate.rb
|
187
202
|
- lib/pdk/generate.rb
|
188
|
-
- lib/pdk/
|
189
|
-
- lib/pdk/
|
190
|
-
- lib/pdk/
|
191
|
-
- lib/pdk/
|
192
|
-
- lib/pdk/
|
203
|
+
- lib/pdk/generate/defined_type.rb
|
204
|
+
- lib/pdk/generate/module.rb
|
205
|
+
- lib/pdk/generate/puppet_class.rb
|
206
|
+
- lib/pdk/generate/puppet_object.rb
|
207
|
+
- lib/pdk/generate/task.rb
|
193
208
|
- lib/pdk/i18n.rb
|
194
209
|
- lib/pdk/logger.rb
|
210
|
+
- lib/pdk/module/convert.rb
|
195
211
|
- lib/pdk/module/metadata.rb
|
196
212
|
- lib/pdk/module/templatedir.rb
|
213
|
+
- lib/pdk/module/update_manager.rb
|
197
214
|
- lib/pdk/report.rb
|
198
215
|
- lib/pdk/report/event.rb
|
199
216
|
- lib/pdk/template_file.rb
|
200
217
|
- lib/pdk/tests/unit.rb
|
201
218
|
- lib/pdk/util.rb
|
202
219
|
- lib/pdk/util/bundler.rb
|
220
|
+
- lib/pdk/util/git.rb
|
203
221
|
- lib/pdk/util/version.rb
|
204
222
|
- lib/pdk/util/windows.rb
|
205
223
|
- lib/pdk/validate.rb
|
206
|
-
- lib/pdk/
|
207
|
-
- lib/pdk/
|
208
|
-
- lib/pdk/
|
209
|
-
- lib/pdk/
|
210
|
-
- lib/pdk/
|
211
|
-
- lib/pdk/
|
212
|
-
- lib/pdk/
|
213
|
-
- lib/pdk/
|
214
|
-
- lib/pdk/
|
215
|
-
- lib/pdk/
|
224
|
+
- lib/pdk/validate/base_validator.rb
|
225
|
+
- lib/pdk/validate/metadata/metadata_json_lint.rb
|
226
|
+
- lib/pdk/validate/metadata/metadata_syntax.rb
|
227
|
+
- lib/pdk/validate/metadata/task_metadata_lint.rb
|
228
|
+
- lib/pdk/validate/metadata_validator.rb
|
229
|
+
- lib/pdk/validate/puppet/puppet_lint.rb
|
230
|
+
- lib/pdk/validate/puppet/puppet_syntax.rb
|
231
|
+
- lib/pdk/validate/puppet_validator.rb
|
232
|
+
- lib/pdk/validate/ruby/rubocop.rb
|
233
|
+
- lib/pdk/validate/ruby_validator.rb
|
216
234
|
- lib/pdk/version.rb
|
217
235
|
- lib/puppet/util/windows.rb
|
218
236
|
- lib/puppet/util/windows/api_types.rb
|
@@ -239,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
257
|
version: '0'
|
240
258
|
requirements: []
|
241
259
|
rubyforge_project:
|
242
|
-
rubygems_version: 2.
|
260
|
+
rubygems_version: 2.6.12
|
243
261
|
signing_key:
|
244
262
|
specification_version: 4
|
245
263
|
summary: A key part of the Puppet Development Kit, the shortest path to better modules
|