pdk 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|