Module: PDK::CLI
- Defined in:
- lib/pdk.rb,
lib/pdk/cli/env.rb,
lib/pdk/cli/get.rb,
lib/pdk/cli/new.rb,
lib/pdk/cli/set.rb,
lib/pdk/cli/exec.rb,
lib/pdk/cli/test.rb,
lib/pdk/cli/util.rb,
lib/pdk/cli/build.rb,
lib/pdk/cli/bundle.rb,
lib/pdk/cli/config.rb,
lib/pdk/cli/errors.rb,
lib/pdk/cli/module.rb,
lib/pdk/cli/remove.rb,
lib/pdk/cli/update.rb,
lib/pdk/cli/console.rb,
lib/pdk/cli/convert.rb,
lib/pdk/cli/release.rb,
lib/pdk/cli/new/fact.rb,
lib/pdk/cli/new/task.rb,
lib/pdk/cli/new/test.rb,
lib/pdk/cli/validate.rb,
lib/pdk/cli/new/class.rb,
lib/pdk/cli/test/unit.rb,
lib/pdk/cli/config/get.rb,
lib/pdk/cli/exec_group.rb,
lib/pdk/cli/get/config.rb,
lib/pdk/cli/new/module.rb,
lib/pdk/cli/set/config.rb,
lib/pdk/cli/exec/command.rb,
lib/pdk/cli/module/build.rb,
lib/pdk/cli/new/function.rb,
lib/pdk/cli/new/provider.rb,
lib/pdk/cli/release/prep.rb,
lib/pdk/cli/new/transport.rb,
lib/pdk/cli/remove/config.rb,
lib/pdk/cli/util/interview.rb,
lib/pdk/cli/module/generate.rb,
lib/pdk/cli/release/publish.rb,
lib/pdk/cli/new/defined_type.rb,
lib/pdk/cli/util/option_validator.rb,
lib/pdk/cli/util/option_normalizer.rb,
lib/pdk/cli/util/command_redirector.rb,
lib/pdk/cli/exec/interactive_command.rb,
lib/pdk/cli/util/update_manager_printer.rb,
lib/pdk/cli.rb
Overview
TODO: Refactor backend code to not raise CLI errors or use CLI util
methods.
Defined Under Namespace
Modules: Exec, Release, Remove, Set, Util
Classes: ExecGroup, ExitWithError, FatalError, ParallelExecGroup, SerialExecGroup
Class Method Summary
collapse
Class Method Details
.anonymised_args ⇒ Object
Attempt to anonymise the raw ARGV array if the command parsing failed.
If an item does not start with ‘-’ but is preceeded by an item that does start with ‘-’, assume that these items are an option/value pair and redact the value. Any additional values that do not start with ‘-’ that follow an option/value pair are assumed to be arguments (rather than subcommand names) and are also redacted.
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/pdk/cli.rb', line 40
def self.anonymised_args
in_args = false
@args.map do |arg|
if arg.start_with?('-')
in_args = true
arg
else
in_args ? 'redacted' : arg
end
end
end
|
.deprecated_runtime? ⇒ Boolean
52
53
54
|
# File 'lib/pdk/cli.rb', line 52
def self.deprecated_runtime?
Gem::Version.new(RbConfig::CONFIG['ruby_version']) < Gem::Version.new('2.4.0')
end
|
.full_interview_option(dsl) ⇒ Object
110
111
112
|
# File 'lib/pdk/cli.rb', line 110
def self.full_interview_option(dsl)
dsl.option nil, 'full-interview', _('When specified, interactive querying of metadata will include all optional questions.')
end
|
.puppet_dev_option(dsl) ⇒ Object
119
120
121
122
123
|
# File 'lib/pdk/cli.rb', line 119
def self.puppet_dev_option(dsl)
dsl.option nil,
'puppet-dev',
_('When specified, PDK will validate or test against the current Puppet source from github.com. To use this option, you must have network access to https://github.com.')
end
|
.puppet_version_options(dsl) ⇒ Object
114
115
116
117
|
# File 'lib/pdk/cli.rb', line 114
def self.puppet_version_options(dsl)
dsl.option nil, 'puppet-version', _('Puppet version to run tests or validations against.'), argument: :required
dsl.option nil, 'pe-version', _('Puppet Enterprise version to run tests or validations against.'), argument: :required
end
|
.run(args) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/pdk/cli.rb', line 56
def self.run(args)
if deprecated_runtime?
PDK.logger.info(
text: _(
'Support for Ruby versions older than 2.4 will be dropped in the ' \
'future PDK 2.0.0 release. We recommend updating your Ruby ' \
'installation to ensure that you can continue using the latest ' \
'version of PDK.',
),
wrap: true,
)
end
@args = args
PDK::Config.analytics_config_interview! unless PDK::Util::Env['PDK_DISABLE_ANALYTICS'] || PDK::Config.analytics_config_exist?
@base_cmd.run(args)
rescue PDK::CLI::ExitWithError => e
PDK.logger.send(e.log_level, e.message)
exit e.exit_code
rescue PDK::CLI::FatalError => e
PDK.logger.fatal(e.message) if e.message
cause = e.cause
if cause.nil?
e.backtrace.each { |line| PDK.logger.debug(line) }
else
PDK.logger.debug("#{cause.class}: #{cause.message}")
cause.backtrace.each { |line| PDK.logger.debug(line) }
end
exit e.exit_code
end
|
.skip_interview_option(dsl) ⇒ Object
106
107
108
|
# File 'lib/pdk/cli.rb', line 106
def self.skip_interview_option(dsl)
dsl.option nil, 'skip-interview', _('When specified, skips interactive querying of metadata.')
end
|
.template_ref_option(dsl) ⇒ Object
102
103
104
|
# File 'lib/pdk/cli.rb', line 102
def self.template_ref_option(dsl)
dsl.option nil, 'template-ref', _('Specifies the template git branch or tag to use when creating new modules or classes.'), argument: :required
end
|
.template_url_option(dsl) ⇒ Object
94
95
96
97
98
99
100
|
# File 'lib/pdk/cli.rb', line 94
def self.template_url_option(dsl)
require 'pdk/util/template_uri'
desc = _('Specifies the URL to the template to use when creating new modules or classes. (default: %{default_url})') % { default_url: PDK::Util::TemplateURI.default_template_uri }
dsl.option nil, 'template-url', desc, argument: :required
end
|