pdk 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,136 @@
1
+ require 'pdk/util'
2
+
3
+ module PDK
4
+ module Util
5
+ class RubyVersion
6
+ class << self
7
+ extend Forwardable
8
+
9
+ def_delegators :instance, :gem_path, :gem_home, :available_puppet_versions, :bin_path
10
+
11
+ attr_reader :instance
12
+
13
+ def instance(version = nil)
14
+ use(version) unless version.nil?
15
+
16
+ if @instance.nil?
17
+ @instance = {}
18
+ @instance.default_proc = proc do |hash, key|
19
+ hash[key] = new(key)
20
+ end
21
+ end
22
+ @instance[active_ruby_version]
23
+ end
24
+
25
+ def active_ruby_version
26
+ @active_ruby_version || default_ruby_version
27
+ end
28
+
29
+ def use(version)
30
+ if versions.key?(version)
31
+ @active_ruby_version = version
32
+ else
33
+ raise ArgumentError, _('Unknown Ruby version "%{ruby_version}"') % {
34
+ ruby_version: version,
35
+ }
36
+ end
37
+ end
38
+
39
+ def scan_for_packaged_rubies
40
+ ruby_basedir = File.join(PDK::Util.pdk_package_basedir, 'private', 'ruby', '*')
41
+ Dir[ruby_basedir].sort.map { |ruby_dir|
42
+ version = File.basename(ruby_dir)
43
+ [version, version.split('.').take(2).concat(['0']).join('.')]
44
+ }.reverse.to_h
45
+ end
46
+
47
+ def default_ruby_version
48
+ # TODO: may not be a safe assumption that highest available version should be default
49
+ versions.keys.sort { |a, b| Gem::Version.new(b) <=> Gem::Version.new(a) }.first
50
+ end
51
+
52
+ def versions
53
+ @versions ||= if PDK::Util.package_install?
54
+ scan_for_packaged_rubies
55
+ else
56
+ { RbConfig::CONFIG['RUBY_PROGRAM_VERSION'] => RbConfig::CONFIG['ruby_version'] }
57
+ end
58
+ end
59
+ end
60
+
61
+ attr_reader :ruby_version
62
+
63
+ def initialize(ruby_version = nil)
64
+ @ruby_version = ruby_version || default_ruby_version
65
+ end
66
+
67
+ def bin_path
68
+ if PDK::Util.package_install?
69
+ File.join(PDK::Util.pdk_package_basedir, 'private', 'ruby', ruby_version, 'bin')
70
+ else
71
+ RbConfig::CONFIG['bindir']
72
+ end
73
+ end
74
+
75
+ def gem_path
76
+ if PDK::Util.package_install?
77
+ # Subprocesses use their own set of gems which are managed by pdk or
78
+ # installed with the package. We also include the separate gem path
79
+ # where our packaged multi-puppet installations live.
80
+ [
81
+ File.join(PDK::Util.pdk_package_basedir, 'private', 'ruby', ruby_version, 'lib', 'ruby', 'gems', versions[ruby_version]),
82
+ File.join(PDK::Util.package_cachedir, 'ruby', versions[ruby_version]),
83
+ File.join(PDK::Util.pdk_package_basedir, 'private', 'puppet', 'ruby', versions[ruby_version]),
84
+ ].join(File::PATH_SEPARATOR)
85
+ else
86
+ # This allows the subprocess to find the 'bundler' gem, which isn't
87
+ # in GEM_HOME for gem installs.
88
+ # TODO: There must be a better way to do this than shelling out to
89
+ # gem... Perhaps can be replaced with "Gem.path"?
90
+ File.absolute_path(File.join(`gem which bundler`, '..', '..', '..', '..'))
91
+ end
92
+ end
93
+
94
+ def gem_home
95
+ # `bundle install --path` ignores all "system" installed gems and
96
+ # causes unnecessary package installs. `bundle install` (without
97
+ # --path) installs into GEM_HOME, which by default is non-user
98
+ # writeable.
99
+ # To still use the pre-installed packages, but allow folks to install
100
+ # additional gems, we set GEM_HOME to the user's cachedir and put all
101
+ # other cache locations onto GEM_PATH.
102
+ # See https://stackoverflow.com/a/11277228 for background
103
+ File.join(PDK::Util.cachedir, 'ruby', versions[ruby_version])
104
+ end
105
+
106
+ def available_puppet_versions
107
+ return @available_puppet_versions unless @available_puppet_versions.nil?
108
+
109
+ puppet_spec_files = Dir[File.join(gem_home, 'specifications', '**', 'puppet*.gemspec')]
110
+
111
+ gem_path.split(File::PATH_SEPARATOR).each do |path|
112
+ puppet_spec_files += Dir[File.join(path, 'specifications', '**', 'puppet*.gemspec')]
113
+ end
114
+
115
+ puppet_specs = []
116
+
117
+ puppet_spec_files.each do |specfile|
118
+ spec = Gem::Specification.load(specfile)
119
+ puppet_specs << spec if spec.name == 'puppet'
120
+ end
121
+
122
+ @available_puppet_versions = puppet_specs.map(&:version).sort { |a, b| b <=> a }
123
+ end
124
+
125
+ private
126
+
127
+ def default_ruby_version
128
+ self.class.default_ruby_version
129
+ end
130
+
131
+ def versions
132
+ self.class.versions
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,87 @@
1
+ require 'pdk/util'
2
+ require 'net/https'
3
+ require 'openssl'
4
+ require 'fileutils'
5
+
6
+ module PDK
7
+ module Util
8
+ class VendoredFile
9
+ class DownloadError < StandardError; end
10
+
11
+ HTTP_ERRORS = [
12
+ EOFError,
13
+ Errno::ECONNRESET,
14
+ Errno::EINVAL,
15
+ Errno::ECONNREFUSED,
16
+ Net::HTTPBadResponse,
17
+ Net::HTTPHeaderSyntaxError,
18
+ Net::ProtocolError,
19
+ Timeout::Error,
20
+ ].freeze
21
+
22
+ attr_reader :file_name
23
+ attr_reader :url
24
+
25
+ def initialize(file_name, url)
26
+ @file_name = file_name
27
+ @url = url
28
+ end
29
+
30
+ def read
31
+ return File.read(package_vendored_path) if PDK::Util.package_install?
32
+ return File.read(gem_vendored_path) if File.file?(gem_vendored_path)
33
+
34
+ content = download_file
35
+
36
+ # TODO: should only write if it's valid JSON
37
+ # TODO: need a way to invalidate if out of date
38
+ FileUtils.mkdir_p(File.dirname(gem_vendored_path))
39
+ File.open(gem_vendored_path, 'w') do |fd|
40
+ fd.write(content)
41
+ end
42
+ content
43
+ end
44
+
45
+ private
46
+
47
+ def download_file
48
+ PDK.logger.debug _('%{file_name} was not found in the cache, downloading it from %{url}.') % {
49
+ file_name: file_name,
50
+ url: url,
51
+ }
52
+
53
+ uri = URI.parse(url)
54
+ http = Net::HTTP.new(uri.host, uri.port)
55
+ http.use_ssl = true
56
+ # TODO: Get rid of this, possible workaround:
57
+ # https://github.com/glennsarti/dev-tools/blob/master/RubyCerts.ps1
58
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE if Gem.win_platform?
59
+ request = Net::HTTP::Get.new(uri.request_uri)
60
+ response = http.request(request)
61
+
62
+ unless response.code == '200'
63
+ raise DownloadError, _('Unable to download %{url}. %{code}: %{message}.') % {
64
+ url: url,
65
+ code: response.code,
66
+ message: response.message,
67
+ }
68
+ end
69
+
70
+ response.body
71
+ rescue *HTTP_ERRORS => e
72
+ raise DownloadError, _('Unable to download %{url}. Check internet connectivity and try again. %{error}') % {
73
+ url: url,
74
+ error: e,
75
+ }
76
+ end
77
+
78
+ def package_vendored_path
79
+ @package_vendored_path ||= File.join(PDK::Util.package_cachedir, file_name)
80
+ end
81
+
82
+ def gem_vendored_path
83
+ @gem_vendored_path ||= File.join(PDK::Util.cachedir, PDK::VERSION, file_name)
84
+ end
85
+ end
86
+ end
87
+ end
@@ -1,6 +1,7 @@
1
1
  require 'pdk/version'
2
2
  require 'pdk/cli/exec'
3
3
  require 'pdk/util/git'
4
+ require 'pdk/logger'
4
5
 
5
6
  module PDK
6
7
  module Util
@@ -33,6 +34,7 @@ module PDK
33
34
  end
34
35
 
35
36
  def self.version_file
37
+ # FIXME: this gets called a LOT and doesn't currently get cached
36
38
  PDK::Util.find_upwards('PDK_VERSION', File.dirname(__FILE__))
37
39
  end
38
40
  end
@@ -120,7 +120,7 @@ module PDK
120
120
 
121
121
  targets.each do |invokation_targets|
122
122
  cmd_argv = parse_options(options, invokation_targets).unshift(cmd_path)
123
- cmd_argv.unshift('ruby', '-W0') if Gem.win_platform?
123
+ cmd_argv.unshift(File.join(PDK::Util::RubyVersion.bin_path, 'ruby.exe'), '-W0') if Gem.win_platform?
124
124
 
125
125
  command = PDK::CLI::Exec::Command.new(*cmd_argv).tap do |c|
126
126
  c.context = :module
@@ -45,41 +45,16 @@ module PDK
45
45
  end
46
46
  end
47
47
 
48
- def self.vendored_task_schema_path
49
- @vendored_task_schema_path ||= File.join(PDK::Util.package_cachedir, 'task.json')
50
- end
51
-
52
48
  def self.schema_file
53
- schema = if PDK::Util.package_install? && File.exist?(vendored_task_schema_path)
54
- File.read(vendored_task_schema_path)
55
- else
56
- download_schema_from_forge
57
- end
49
+ schema = PDK::Util::VendoredFile.new('task.json', FORGE_SCHEMA_URL).read
58
50
 
59
51
  JSON.parse(schema)
52
+ rescue PDK::Util::VendoredFile::DownloadError => e
53
+ raise PDK::CLI::FatalError, e.message
60
54
  rescue JSON::ParserError
61
55
  raise PDK::CLI::FatalError, _('Failed to parse Task Metadata Schema file.')
62
56
  end
63
57
 
64
- def self.download_schema_from_forge
65
- PDK.logger.debug(_('Task Metadata Schema was not found in the cache. Now downloading from the forge.'))
66
- require 'net/https'
67
- require 'openssl'
68
-
69
- uri = URI.parse(FORGE_SCHEMA_URL)
70
- http = Net::HTTP.new(uri.host, uri.port)
71
- http.use_ssl = true
72
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE if Gem.win_platform?
73
- request = Net::HTTP::Get.new(uri.request_uri)
74
- response = http.request(request)
75
-
76
- raise PDK::CLI::FatalError, _('Unable to download Task Metadata Schema file. %{code}: %{message}.') % { code: response.code, message: response.message } unless response.code == '200'
77
-
78
- response.body
79
- rescue StandardError => e
80
- raise PDK::CLI::FatalError, _('Unable to download Task Metadata Schema file. Check internet connectivity and retry this action. %{error}') % { error: e }
81
- end
82
-
83
58
  def self.invoke(report, options = {})
84
59
  targets, skipped, invalid = parse_targets(options)
85
60
 
@@ -1,4 +1,4 @@
1
1
  module PDK
2
- VERSION = '1.4.1'.freeze
2
+ VERSION = '1.5.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.4.0-20-gdc7faf3\n"
9
+ "Project-Id-Version: puppet development kit v1.4.1-78-g3268a07\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: docs@puppet.com\n"
12
- "POT-Creation-Date: 2018-02-26 13:34-0700\n"
13
- "PO-Revision-Date: 2018-02-26 13:34-0700\n"
12
+ "POT-Creation-Date: 2018-04-30 11:41-0700\n"
13
+ "PO-Revision-Date: 2018-04-30 11:41-0700\n"
14
14
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15
15
  "Language-Team: LANGUAGE <LL@li.org>\n"
16
16
  "Language: \n"
@@ -39,47 +39,55 @@ msgstr ""
39
39
  msgid "Unable to write '%{file}': %{msg}"
40
40
  msgstr ""
41
41
 
42
- #: ../lib/pdk/cli.rb:41
42
+ #: ../lib/pdk/cli.rb:42
43
43
  msgid "Specifies the URL to the template to use when creating new modules or classes."
44
44
  msgstr ""
45
45
 
46
- #: ../lib/pdk/cli.rb:45
46
+ #: ../lib/pdk/cli.rb:46
47
47
  msgid "When specified, skips interactive querying of metadata."
48
48
  msgstr ""
49
49
 
50
- #: ../lib/pdk/cli.rb:49
50
+ #: ../lib/pdk/cli.rb:50
51
51
  msgid "When specified, interactive querying of metadata will include all optional questions."
52
52
  msgstr ""
53
53
 
54
54
  #: ../lib/pdk/cli.rb:54
55
- msgid "pdk command [options]"
55
+ msgid "Puppet version to run tests or validations against."
56
56
  msgstr ""
57
57
 
58
58
  #: ../lib/pdk/cli.rb:55
59
+ msgid "Puppet Enterprise version to run tests or validations against."
60
+ msgstr ""
61
+
62
+ #: ../lib/pdk/cli.rb:60
63
+ msgid "pdk command [options]"
64
+ msgstr ""
65
+
66
+ #: ../lib/pdk/cli.rb:61
59
67
  msgid "Puppet Development Kit"
60
68
  msgstr ""
61
69
 
62
- #: ../lib/pdk/cli.rb:56
70
+ #: ../lib/pdk/cli.rb:62
63
71
  msgid "The shortest path to better modules."
64
72
  msgstr ""
65
73
 
66
- #: ../lib/pdk/cli.rb:59
74
+ #: ../lib/pdk/cli.rb:65
67
75
  msgid "Show version of pdk."
68
76
  msgstr ""
69
77
 
70
- #: ../lib/pdk/cli.rb:64
78
+ #: ../lib/pdk/cli.rb:70
71
79
  msgid "Show help for this command."
72
80
  msgstr ""
73
81
 
74
- #: ../lib/pdk/cli.rb:69
82
+ #: ../lib/pdk/cli.rb:75
75
83
  msgid "Specify desired output format. Valid formats are '%{available_formats}'. You may also specify a file to which the formatted output is sent, for example: '--format=junit:report.xml'. This option may be specified multiple times if each option specifies a distinct target file."
76
84
  msgstr ""
77
85
 
78
- #: ../lib/pdk/cli.rb:80
86
+ #: ../lib/pdk/cli.rb:86
79
87
  msgid "Enable debug output."
80
88
  msgstr ""
81
89
 
82
- #: ../lib/pdk/cli.rb:84
90
+ #: ../lib/pdk/cli.rb:90
83
91
  msgid "Path to an answer file."
84
92
  msgstr ""
85
93
 
@@ -135,19 +143,15 @@ msgstr ""
135
143
  msgid "Build of %{package_name} has completed successfully. Built package can be found here: %{package_path}"
136
144
  msgstr ""
137
145
 
138
- #: ../lib/pdk/cli/bundle.rb:6
139
- msgid "bundle `-- [bundler_options]"
146
+ #: ../lib/pdk/cli/bundle.rb:5
147
+ msgid "bundle [bundler_options]"
140
148
  msgstr ""
141
149
 
142
- #: ../lib/pdk/cli/bundle.rb:8
143
- msgid "bundle -- [bundler_options]"
144
- msgstr ""
145
-
146
- #: ../lib/pdk/cli/bundle.rb:10
150
+ #: ../lib/pdk/cli/bundle.rb:6
147
151
  msgid "(Experimental) Command pass-through to bundler"
148
152
  msgstr ""
149
153
 
150
- #: ../lib/pdk/cli/bundle.rb:11
154
+ #: ../lib/pdk/cli/bundle.rb:7
151
155
  msgid ""
152
156
  "[experimental] For advanced users, pdk bundle runs arbitrary commands in the bundler environment that pdk manages.\n"
153
157
  "Careless use of this command can lead to errors that pdk can't help recover from.\n"
@@ -155,7 +159,7 @@ msgid ""
155
159
  "Note that for PowerShell the '--' needs to be escaped using a backtick: '`--' to avoid it being parsed by the shell.\n"
156
160
  msgstr ""
157
161
 
158
- #: ../lib/pdk/cli/bundle.rb:21
162
+ #: ../lib/pdk/cli/bundle.rb:18
159
163
  msgid "`pdk bundle` can only be run from inside a valid module directory."
160
164
  msgstr ""
161
165
 
@@ -195,43 +199,43 @@ msgstr ""
195
199
  msgid "An unexpected error has occurred. Try running the command again with --debug"
196
200
  msgstr ""
197
201
 
198
- #: ../lib/pdk/cli/exec.rb:18
202
+ #: ../lib/pdk/cli/exec.rb:23
199
203
  msgid "Unable to find `%{name}`. Check that it is installed and try again."
200
204
  msgstr ""
201
205
 
202
- #: ../lib/pdk/cli/exec.rb:40
206
+ #: ../lib/pdk/cli/exec.rb:45
203
207
  msgid "PDK package installation not found. Trying '%{fallback}' from the system PATH instead."
204
208
  msgstr ""
205
209
 
206
- #: ../lib/pdk/cli/exec.rb:45
207
- msgid "Using '%{vendored_bin_path}' from PDK package."
210
+ #: ../lib/pdk/cli/exec.rb:54
211
+ msgid "Could not find '%{vendored_bin}' in PDK package. Trying '%{fallback}' from the system PATH instead."
208
212
  msgstr ""
209
213
 
210
- #: ../lib/pdk/cli/exec.rb:48
211
- msgid "Could not find '%{vendored_bin_path}' in PDK package. Trying '%{fallback}' from the system PATH instead."
214
+ #: ../lib/pdk/cli/exec.rb:61
215
+ msgid "Using '%{vendored_bin}' from PDK package."
212
216
  msgstr ""
213
217
 
214
- #: ../lib/pdk/cli/exec.rb:86
218
+ #: ../lib/pdk/cli/exec.rb:98
215
219
  msgid "Expected execution context to be :system or :module but got '%{context}'."
216
220
  msgstr ""
217
221
 
218
- #: ../lib/pdk/cli/exec.rb:150
222
+ #: ../lib/pdk/cli/exec.rb:153
219
223
  msgid "Current working directory is not part of a module. (No metadata.json was found.)"
220
224
  msgstr ""
221
225
 
222
- #: ../lib/pdk/cli/exec.rb:204
226
+ #: ../lib/pdk/cli/exec.rb:208
223
227
  msgid "Executing '%{command}'"
224
228
  msgstr ""
225
229
 
226
- #: ../lib/pdk/cli/exec.rb:206
227
- msgid "Command environment: GEM_HOME is '%{gem_home}' and GEM_PATH is '%{gem_path}'"
230
+ #: ../lib/pdk/cli/exec.rb:211
231
+ msgid "Command environment:"
228
232
  msgstr ""
229
233
 
230
- #: ../lib/pdk/cli/exec.rb:213
234
+ #: ../lib/pdk/cli/exec.rb:222
231
235
  msgid "Failed to execute '%{command}': %{message}"
232
236
  msgstr ""
233
237
 
234
- #: ../lib/pdk/cli/exec.rb:227
238
+ #: ../lib/pdk/cli/exec.rb:238
235
239
  msgid "Execution of '%{command}' complete (duration: %{duration_in_seconds}s; exit code: %{exit_code})"
236
240
  msgstr ""
237
241
 
@@ -379,35 +383,35 @@ msgstr ""
379
383
  msgid "Run unit tests."
380
384
  msgstr ""
381
385
 
382
- #: ../lib/pdk/cli/test/unit.rb:10
386
+ #: ../lib/pdk/cli/test/unit.rb:11
383
387
  msgid "List all available unit test files."
384
388
  msgstr ""
385
389
 
386
- #: ../lib/pdk/cli/test/unit.rb:11
390
+ #: ../lib/pdk/cli/test/unit.rb:12
387
391
  msgid "Run unit tests in parallel."
388
392
  msgstr ""
389
393
 
390
- #: ../lib/pdk/cli/test/unit.rb:12
394
+ #: ../lib/pdk/cli/test/unit.rb:13
391
395
  msgid "More verbose output. Displays examples in each unit test file."
392
396
  msgstr ""
393
397
 
394
- #: ../lib/pdk/cli/test/unit.rb:14
398
+ #: ../lib/pdk/cli/test/unit.rb:15
395
399
  msgid "Specify a comma-separated list of unit test files to run."
396
400
  msgstr ""
397
401
 
398
- #: ../lib/pdk/cli/test/unit.rb:25
402
+ #: ../lib/pdk/cli/test/unit.rb:28
399
403
  msgid "Unit tests can only be run from inside a valid module directory."
400
404
  msgstr ""
401
405
 
402
- #: ../lib/pdk/cli/test/unit.rb:34
406
+ #: ../lib/pdk/cli/test/unit.rb:39
403
407
  msgid "No unit test files with examples were found."
404
408
  msgstr ""
405
409
 
406
- #: ../lib/pdk/cli/test/unit.rb:36
410
+ #: ../lib/pdk/cli/test/unit.rb:41
407
411
  msgid "Unit Test Files:"
408
412
  msgstr ""
409
413
 
410
- #: ../lib/pdk/cli/test/unit.rb:45
414
+ #: ../lib/pdk/cli/test/unit.rb:50
411
415
  msgid "\t%{id}\t%{description}"
412
416
  msgstr ""
413
417
 
@@ -439,14 +443,42 @@ msgstr ""
439
443
  msgid "You can not specify --noop and --force when updating a module"
440
444
  msgstr ""
441
445
 
442
- #: ../lib/pdk/cli/util.rb:26
446
+ #: ../lib/pdk/cli/util.rb:17
443
447
  msgid "This command must be run from inside a valid module (no metadata.json found)."
444
448
  msgstr ""
445
449
 
446
- #: ../lib/pdk/cli/util.rb:50
450
+ #: ../lib/pdk/cli/util.rb:41
447
451
  msgid "Answer \"Y\" to continue or \"n\" to cancel."
448
452
  msgstr ""
449
453
 
454
+ #: ../lib/pdk/cli/util.rb:66
455
+ msgid "This module is not PDK compatible. Run `pdk convert` to make it compatible with your version of PDK."
456
+ msgstr ""
457
+
458
+ #: ../lib/pdk/cli/util.rb:71
459
+ msgid "This module template is out of date. Run `pdk convert` to make it compatible with your version of PDK."
460
+ msgstr ""
461
+
462
+ #: ../lib/pdk/cli/util.rb:76
463
+ msgid "This module is compatible with a newer version of PDK. Upgrade your version of PDK to ensure compatibility."
464
+ msgstr ""
465
+
466
+ #: ../lib/pdk/cli/util.rb:80
467
+ msgid "This module is compatible with an older version of PDK. Run `pdk update` to update it to your version of PDK."
468
+ msgstr ""
469
+
470
+ #: ../lib/pdk/cli/util.rb:103
471
+ msgid "Using Ruby %{version}"
472
+ msgstr ""
473
+
474
+ #: ../lib/pdk/cli/util.rb:113
475
+ msgid "Using %{gem} %{version}"
476
+ msgstr ""
477
+
478
+ #: ../lib/pdk/cli/util.rb:140
479
+ msgid "You cannot specify a %{first} and %{second} at the same time."
480
+ msgstr ""
481
+
450
482
  #: ../lib/pdk/cli/util/command_redirector.rb:18
451
483
  msgid "Did you mean '%{command}'?"
452
484
  msgstr ""
@@ -488,35 +520,35 @@ msgid ""
488
520
  "[targets] is an optional space-separated list of files or directories to be validated. If not specified, validators are run against all applicable files in the module."
489
521
  msgstr ""
490
522
 
491
- #: ../lib/pdk/cli/validate.rb:16
523
+ #: ../lib/pdk/cli/validate.rb:17
492
524
  msgid "List all available validators."
493
525
  msgstr ""
494
526
 
495
- #: ../lib/pdk/cli/validate.rb:17
527
+ #: ../lib/pdk/cli/validate.rb:18
496
528
  msgid "Automatically correct problems where possible."
497
529
  msgstr ""
498
530
 
499
- #: ../lib/pdk/cli/validate.rb:18
531
+ #: ../lib/pdk/cli/validate.rb:19
500
532
  msgid "Run validations in parallel."
501
533
  msgstr ""
502
534
 
503
- #: ../lib/pdk/cli/validate.rb:31
535
+ #: ../lib/pdk/cli/validate.rb:32
504
536
  msgid "Available validators: %{validator_names}"
505
537
  msgstr ""
506
538
 
507
- #: ../lib/pdk/cli/validate.rb:36
539
+ #: ../lib/pdk/cli/validate.rb:39
508
540
  msgid "Code validation can only be run from inside a valid module directory"
509
541
  msgstr ""
510
542
 
511
- #: ../lib/pdk/cli/validate.rb:50
543
+ #: ../lib/pdk/cli/validate.rb:55
512
544
  msgid "Unknown validator '%{v}'. Available validators: %{validators}."
513
545
  msgstr ""
514
546
 
515
- #: ../lib/pdk/cli/validate.rb:60 ../lib/pdk/cli/validate.rb:64
547
+ #: ../lib/pdk/cli/validate.rb:65 ../lib/pdk/cli/validate.rb:69
516
548
  msgid "Running all available validators..."
517
549
  msgstr ""
518
550
 
519
- #: ../lib/pdk/cli/validate.rb:88
551
+ #: ../lib/pdk/cli/validate.rb:95
520
552
  msgid "Validating module using %{num_of_threads} threads"
521
553
  msgstr ""
522
554
 
@@ -643,11 +675,11 @@ msgid "If there is a public issue tracker for this module, enter its URL here."
643
675
  msgstr ""
644
676
 
645
677
  #: ../lib/pdk/generate/module.rb:302
646
- msgid "update"
678
+ msgid "create"
647
679
  msgstr ""
648
680
 
649
681
  #: ../lib/pdk/generate/module.rb:302
650
- msgid "create"
682
+ msgid "update"
651
683
  msgstr ""
652
684
 
653
685
  #: ../lib/pdk/generate/module.rb:303
@@ -714,35 +746,35 @@ msgstr ""
714
746
  msgid "spec/spec_helper.rb.mock_with not set to ':rspec'"
715
747
  msgstr ""
716
748
 
717
- #: ../lib/pdk/generate/puppet_object.rb:97
749
+ #: ../lib/pdk/generate/puppet_object.rb:104
718
750
  msgid "Unable to generate %{object_type}; '%{file}' already exists."
719
751
  msgstr ""
720
752
 
721
- #: ../lib/pdk/generate/puppet_object.rb:162
753
+ #: ../lib/pdk/generate/puppet_object.rb:170
722
754
  msgid "Creating '%{file}' from template."
723
755
  msgstr ""
724
756
 
725
- #: ../lib/pdk/generate/puppet_object.rb:169
757
+ #: ../lib/pdk/generate/puppet_object.rb:177
726
758
  msgid "Unable to create directory '%{path}': %{message}"
727
759
  msgstr ""
728
760
 
729
- #: ../lib/pdk/generate/puppet_object.rb:177
761
+ #: ../lib/pdk/generate/puppet_object.rb:185
730
762
  msgid "Unable to write to file '%{path}': %{message}"
731
763
  msgstr ""
732
764
 
733
- #: ../lib/pdk/generate/puppet_object.rb:200
765
+ #: ../lib/pdk/generate/puppet_object.rb:208
734
766
  msgid "No %{dir_type} template specified; trying next template directory."
735
767
  msgstr ""
736
768
 
737
- #: ../lib/pdk/generate/puppet_object.rb:213
769
+ #: ../lib/pdk/generate/puppet_object.rb:221
738
770
  msgid "Unable to find a %{type} template in %{url}; trying next template directory."
739
771
  msgstr ""
740
772
 
741
- #: ../lib/pdk/generate/puppet_object.rb:215
773
+ #: ../lib/pdk/generate/puppet_object.rb:223
742
774
  msgid "Unable to find the %{type} template in %{url}."
743
775
  msgstr ""
744
776
 
745
- #: ../lib/pdk/generate/puppet_object.rb:272
777
+ #: ../lib/pdk/generate/puppet_object.rb:280
746
778
  msgid "'%{dir}' does not contain valid Puppet module metadata: %{msg}"
747
779
  msgstr ""
748
780
 
@@ -754,7 +786,7 @@ msgstr ""
754
786
  msgid "Symlinks in modules are not supported and will not be included in the package. Please investigate symlink %{from} -> %{to}."
755
787
  msgstr ""
756
788
 
757
- #: ../lib/pdk/module/convert.rb:23 ../lib/pdk/module/update.rb:17
789
+ #: ../lib/pdk/module/convert.rb:23 ../lib/pdk/module/update.rb:18
758
790
  msgid "No changes required."
759
791
  msgstr ""
760
792
 
@@ -766,28 +798,32 @@ msgstr ""
766
798
  msgid "Do you want to continue and make these changes to your module?"
767
799
  msgstr ""
768
800
 
769
- #: ../lib/pdk/module/convert.rb:109
801
+ #: ../lib/pdk/module/convert.rb:85
802
+ msgid "skipping '%{path}'"
803
+ msgstr ""
804
+
805
+ #: ../lib/pdk/module/convert.rb:118
770
806
  msgid "Unable to update module metadata; %{path} exists but it is not readable."
771
807
  msgstr ""
772
808
 
773
- #: ../lib/pdk/module/convert.rb:114
809
+ #: ../lib/pdk/module/convert.rb:123
774
810
  msgid "Unable to update module metadata; %{path} exists but it is not a file."
775
811
  msgstr ""
776
812
 
777
- #: ../lib/pdk/module/convert.rb:157 ../lib/pdk/module/convert.rb:162 ../lib/pdk/module/convert.rb:166
813
+ #: ../lib/pdk/module/convert.rb:166 ../lib/pdk/module/convert.rb:171 ../lib/pdk/module/convert.rb:175
778
814
  msgid ""
779
815
  "\n"
780
816
  "%{banner}"
781
817
  msgstr ""
782
818
 
783
- #: ../lib/pdk/module/convert.rb:168
819
+ #: ../lib/pdk/module/convert.rb:177
784
820
  msgid ""
785
821
  "\n"
786
822
  "%{summary}\n"
787
823
  "\n"
788
824
  msgstr ""
789
825
 
790
- #: ../lib/pdk/module/convert.rb:178
826
+ #: ../lib/pdk/module/convert.rb:187
791
827
  msgid ""
792
828
  "\n"
793
829
  "You can find a report of differences in %{path}.\n"
@@ -806,66 +842,78 @@ msgstr ""
806
842
  msgid "Invalid JSON in metadata.json: %{msg}"
807
843
  msgstr ""
808
844
 
809
- #: ../lib/pdk/module/metadata.rb:114
845
+ #: ../lib/pdk/module/metadata.rb:92
846
+ msgid "Module metadata does not contain any requirements."
847
+ msgstr ""
848
+
849
+ #: ../lib/pdk/module/metadata.rb:93
850
+ msgid "Module metadata does not contain a \"puppet\" requirement."
851
+ msgstr ""
852
+
853
+ #: ../lib/pdk/module/metadata.rb:94
854
+ msgid "The \"puppet\" requirement in module metadata does not specify a \"version_requirement\"."
855
+ msgstr ""
856
+
857
+ #: ../lib/pdk/module/metadata.rb:133
810
858
  msgid "Field must be a dash-separated user name and module name."
811
859
  msgstr ""
812
860
 
813
- #: ../lib/pdk/module/metadata.rb:116
861
+ #: ../lib/pdk/module/metadata.rb:135
814
862
  msgid "Module name must contain only alphanumeric or underscore characters."
815
863
  msgstr ""
816
864
 
817
- #: ../lib/pdk/module/metadata.rb:118
865
+ #: ../lib/pdk/module/metadata.rb:137
818
866
  msgid "Module name must begin with a letter."
819
867
  msgstr ""
820
868
 
821
- #: ../lib/pdk/module/metadata.rb:120
869
+ #: ../lib/pdk/module/metadata.rb:139
822
870
  msgid "Namespace must contain only alphanumeric characters."
823
871
  msgstr ""
824
872
 
825
- #: ../lib/pdk/module/metadata.rb:123
873
+ #: ../lib/pdk/module/metadata.rb:142
826
874
  msgid "Invalid 'name' field in metadata.json: %{err}"
827
875
  msgstr ""
828
876
 
829
- #: ../lib/pdk/module/templatedir.rb:60
830
- msgid "Unable to set git repository '%{repo}' to ref:'%{ref}'."
831
- msgstr ""
832
-
833
- #: ../lib/pdk/module/templatedir.rb:65
834
- msgid "Unable to clone git repository '%{repo}' to '%{dest}'."
877
+ #: ../lib/pdk/module/templatedir.rb:42
878
+ msgid "%{class_name} must be initialized with a block."
835
879
  msgstr ""
836
880
 
837
- #: ../lib/pdk/module/templatedir.rb:128
881
+ #: ../lib/pdk/module/templatedir.rb:109
838
882
  msgid "Rendering '%{template}'..."
839
883
  msgstr ""
840
884
 
841
- #: ../lib/pdk/module/templatedir.rb:133
885
+ #: ../lib/pdk/module/templatedir.rb:122
842
886
  msgid ""
843
887
  "Failed to render template '%{template}'\n"
844
888
  "%{exception}: %{message}"
845
889
  msgstr ""
846
890
 
847
- #: ../lib/pdk/module/templatedir.rb:196
891
+ #: ../lib/pdk/module/templatedir.rb:189
848
892
  msgid "The specified template '%{path}' is not a directory."
849
893
  msgstr ""
850
894
 
851
- #: ../lib/pdk/module/templatedir.rb:200
895
+ #: ../lib/pdk/module/templatedir.rb:193
852
896
  msgid "The template at '%{path}' does not contain a 'moduleroot/' directory."
853
897
  msgstr ""
854
898
 
855
- #: ../lib/pdk/module/templatedir.rb:205
899
+ #: ../lib/pdk/module/templatedir.rb:198
856
900
  msgid "The template at '%{path}' does not contain a 'moduleroot_init/' directory, which indicates you are using an older style of template. Before continuing please use the --template-url flag when running the pdk new commands to pass a new style template."
857
901
  msgstr ""
858
902
 
859
- #: ../lib/pdk/module/templatedir.rb:220
903
+ #: ../lib/pdk/module/templatedir.rb:213
860
904
  msgid "The directory '%{dir}' doesn't exist"
861
905
  msgstr ""
862
906
 
863
- #: ../lib/pdk/module/templatedir.rb:278
907
+ #: ../lib/pdk/module/templatedir.rb:271
864
908
  msgid "'%{file}' is not a valid YAML file: %{message}"
865
909
  msgstr ""
866
910
 
867
- #: ../lib/pdk/module/update.rb:13
868
- msgid "This module is already up to date with version %{version} of the template."
911
+ #: ../lib/pdk/module/templatedir.rb:299
912
+ msgid "Unable to set HEAD of git repository at '%{repo}' to ref:'%{ref}'."
913
+ msgstr ""
914
+
915
+ #: ../lib/pdk/module/templatedir.rb:304
916
+ msgid "Unable to clone git repository at '%{repo}' into '%{dest}'."
869
917
  msgstr ""
870
918
 
871
919
  #: ../lib/pdk/module/update.rb:97
@@ -972,88 +1020,144 @@ msgstr ""
972
1020
  msgid "Failed to prepare to run the unit tests."
973
1021
  msgstr ""
974
1022
 
975
- #: ../lib/pdk/tests/unit.rb:71
976
- msgid "Running unit tests."
1023
+ #: ../lib/pdk/tests/unit.rb:70
1024
+ msgid "Running unit tests in parallel."
977
1025
  msgstr ""
978
1026
 
979
- #: ../lib/pdk/tests/unit.rb:71
980
- msgid "Running unit tests in parallel."
1027
+ #: ../lib/pdk/tests/unit.rb:70
1028
+ msgid "Running unit tests."
981
1029
  msgstr ""
982
1030
 
983
- #: ../lib/pdk/tests/unit.rb:85
1031
+ #: ../lib/pdk/tests/unit.rb:84
984
1032
  msgid "Unit test output did not contain a valid JSON result: %{output}"
985
1033
  msgstr ""
986
1034
 
987
- #: ../lib/pdk/tests/unit.rb:137
1035
+ #: ../lib/pdk/tests/unit.rb:136
988
1036
  msgid "Evaluated %{total} tests in %{duration} seconds: %{failures} failures, %{pending} pending."
989
1037
  msgstr ""
990
1038
 
991
- #: ../lib/pdk/tests/unit.rb:194
1039
+ #: ../lib/pdk/tests/unit.rb:193
992
1040
  msgid "Failed to find valid JSON in output from rspec: %{output}"
993
1041
  msgstr ""
994
1042
 
995
- #: ../lib/pdk/tests/unit.rb:199
1043
+ #: ../lib/pdk/tests/unit.rb:198
996
1044
  msgid "Unable to enumerate examples. rspec reported: %{message}"
997
1045
  msgstr ""
998
1046
 
999
- #: ../lib/pdk/util.rb:47
1047
+ #: ../lib/pdk/util.rb:59
1000
1048
  msgid "Cannot resolve a full path to '%{path}', as it does not currently exist."
1001
1049
  msgstr ""
1002
1050
 
1003
- #: ../lib/pdk/util.rb:72
1051
+ #: ../lib/pdk/util.rb:84
1004
1052
  msgid "Package basedir requested for non-package install."
1005
1053
  msgstr ""
1006
1054
 
1007
- #: ../lib/pdk/util.rb:185
1055
+ #: ../lib/pdk/util.rb:209
1008
1056
  msgid "Unable to access the previously used template '%{template}', using the default template instead."
1009
1057
  msgstr ""
1010
1058
 
1011
- #: ../lib/pdk/util/bundler.rb:15
1012
- msgid "Bundle has already been installed. Skipping run."
1059
+ #: ../lib/pdk/util/bundler.rb:19
1060
+ msgid "Bundler managed gems already up to date."
1013
1061
  msgstr ""
1014
1062
 
1015
- #: ../lib/pdk/util/bundler.rb:20
1063
+ #: ../lib/pdk/util/bundler.rb:24
1016
1064
  msgid "No Gemfile found in '%{cwd}'. Skipping bundler management."
1017
1065
  msgstr ""
1018
1066
 
1019
- #: ../lib/pdk/util/bundler.rb:31
1020
- msgid "No Gemfile.lock found in module. Using vendored Gemfile.lock from '%{source}'."
1067
+ #: ../lib/pdk/util/bundler.rb:96
1068
+ msgid "Checking for missing Gemfile dependencies."
1021
1069
  msgstr ""
1022
1070
 
1023
- #: ../lib/pdk/util/bundler.rb:37
1024
- msgid "Unable to resolve Gemfile dependencies."
1071
+ #: ../lib/pdk/util/bundler.rb:126
1072
+ msgid "Vendored Gemfile.lock (%{source}) not found."
1025
1073
  msgstr ""
1026
1074
 
1027
- #: ../lib/pdk/util/bundler.rb:44
1028
- msgid "Unable to install missing Gemfile dependencies."
1075
+ #: ../lib/pdk/util/bundler.rb:131
1076
+ msgid "Using vendored Gemfile.lock from %{source}."
1029
1077
  msgstr ""
1030
1078
 
1031
- #: ../lib/pdk/util/bundler.rb:63
1032
- msgid "Unable to install requested binstubs."
1079
+ #: ../lib/pdk/util/bundler.rb:137
1080
+ msgid "Resolving default Gemfile dependencies."
1033
1081
  msgstr ""
1034
1082
 
1035
- #: ../lib/pdk/util/bundler.rb:77
1036
- msgid "Checking for missing Gemfile dependencies."
1083
+ #: ../lib/pdk/util/bundler.rb:144
1084
+ msgid "Unable to resolve default Gemfile dependencies."
1037
1085
  msgstr ""
1038
1086
 
1039
- #: ../lib/pdk/util/bundler.rb:93
1040
- msgid "Resolving Gemfile dependencies."
1087
+ #: ../lib/pdk/util/bundler.rb:157
1088
+ msgid "Updating Gemfile dependencies."
1041
1089
  msgstr ""
1042
1090
 
1043
- #: ../lib/pdk/util/bundler.rb:110
1091
+ #: ../lib/pdk/util/bundler.rb:184
1092
+ msgid "Unable to resolve Gemfile dependencies."
1093
+ msgstr ""
1094
+
1095
+ #: ../lib/pdk/util/bundler.rb:195
1044
1096
  msgid "Installing missing Gemfile dependencies."
1045
1097
  msgstr ""
1046
1098
 
1047
- #: ../lib/pdk/util/bundler.rb:131
1099
+ #: ../lib/pdk/util/bundler.rb:203
1100
+ msgid "Unable to install missing Gemfile dependencies."
1101
+ msgstr ""
1102
+
1103
+ #: ../lib/pdk/util/bundler.rb:217
1048
1104
  msgid ""
1049
1105
  "Failed to generate binstubs for '%{gems}':\n"
1050
1106
  "%{output}"
1051
1107
  msgstr ""
1052
1108
 
1053
- #: ../lib/pdk/util/git.rb:47
1109
+ #: ../lib/pdk/util/bundler.rb:218
1110
+ msgid "Unable to install requested binstubs."
1111
+ msgstr ""
1112
+
1113
+ #: ../lib/pdk/util/git.rb:64
1054
1114
  msgid "Unable to access the template repository \"%{repository}\""
1055
1115
  msgstr ""
1056
1116
 
1117
+ #: ../lib/pdk/util/puppet_version.rb:24
1118
+ msgid "Unable to find a Puppet gem in current Ruby environment or from Rubygems.org."
1119
+ msgstr ""
1120
+
1121
+ #: ../lib/pdk/util/puppet_version.rb:48
1122
+ msgid "Unable to find a Puppet gem matching %{requirement}."
1123
+ msgstr ""
1124
+
1125
+ #: ../lib/pdk/util/puppet_version.rb:55
1126
+ msgid "Puppet %{requested_version} is not available, activating %{found_version} instead."
1127
+ msgstr ""
1128
+
1129
+ #: ../lib/pdk/util/puppet_version.rb:72
1130
+ msgid "Unable to map Puppet Enterprise version %{pe_version} to a Puppet version."
1131
+ msgstr ""
1132
+
1133
+ #: ../lib/pdk/util/puppet_version.rb:77
1134
+ msgid "Puppet Enterprise %{pe_version} maps to Puppet %{puppet_version}."
1135
+ msgstr ""
1136
+
1137
+ #: ../lib/pdk/util/puppet_version.rb:106
1138
+ msgid "%{version} is not a valid version number."
1139
+ msgstr ""
1140
+
1141
+ #: ../lib/pdk/util/puppet_version.rb:140
1142
+ msgid "Failed to parse Puppet Enterprise version map file."
1143
+ msgstr ""
1144
+
1145
+ #: ../lib/pdk/util/ruby_version.rb:33
1146
+ msgid "Unknown Ruby version \"%{ruby_version}\""
1147
+ msgstr ""
1148
+
1149
+ #: ../lib/pdk/util/vendored_file.rb:48
1150
+ msgid "%{file_name} was not found in the cache, downloading it from %{url}."
1151
+ msgstr ""
1152
+
1153
+ #: ../lib/pdk/util/vendored_file.rb:63
1154
+ msgid "Unable to download %{url}. %{code}: %{message}."
1155
+ msgstr ""
1156
+
1157
+ #: ../lib/pdk/util/vendored_file.rb:72
1158
+ msgid "Unable to download %{url}. Check internet connectivity and try again. %{error}"
1159
+ msgstr ""
1160
+
1057
1161
  #: ../lib/pdk/validate/base_validator.rb:74
1058
1162
  msgid "Invoking %{cmd}"
1059
1163
  msgstr ""
@@ -1086,7 +1190,7 @@ msgstr ""
1086
1190
  msgid "Checking metadata syntax (%{targets})."
1087
1191
  msgstr ""
1088
1192
 
1089
- #: ../lib/pdk/validate/metadata/metadata_syntax.rb:69 ../lib/pdk/validate/metadata/task_metadata_lint.rb:101
1193
+ #: ../lib/pdk/validate/metadata/metadata_syntax.rb:69 ../lib/pdk/validate/metadata/task_metadata_lint.rb:76
1090
1194
  msgid "Could not be read."
1091
1195
  msgstr ""
1092
1196
 
@@ -1094,23 +1198,11 @@ msgstr ""
1094
1198
  msgid "Checking task metadata style (%{targets})."
1095
1199
  msgstr ""
1096
1200
 
1097
- #: ../lib/pdk/validate/metadata/task_metadata_lint.rb:61
1201
+ #: ../lib/pdk/validate/metadata/task_metadata_lint.rb:55
1098
1202
  msgid "Failed to parse Task Metadata Schema file."
1099
1203
  msgstr ""
1100
1204
 
1101
- #: ../lib/pdk/validate/metadata/task_metadata_lint.rb:65
1102
- msgid "Task Metadata Schema was not found in the cache. Now downloading from the forge."
1103
- msgstr ""
1104
-
1105
- #: ../lib/pdk/validate/metadata/task_metadata_lint.rb:76
1106
- msgid "Unable to download Task Metadata Schema file. %{code}: %{message}."
1107
- msgstr ""
1108
-
1109
- #: ../lib/pdk/validate/metadata/task_metadata_lint.rb:80
1110
- msgid "Unable to download Task Metadata Schema file. Check internet connectivity and retry this action. %{error}"
1111
- msgstr ""
1112
-
1113
- #: ../lib/pdk/validate/metadata/task_metadata_lint.rb:116
1205
+ #: ../lib/pdk/validate/metadata/task_metadata_lint.rb:91
1114
1206
  msgid "Unable to validate Task Metadata. %{error}."
1115
1207
  msgstr ""
1116
1208