lib/pdk/cli/build.rb in pdk-2.7.1 vs lib/pdk/cli/build.rb in pdk-3.0.0

- old
+ new

@@ -1,78 +1,75 @@ -module PDK::CLI - @build_cmd = @base_cmd.define_command do - name 'build' - usage 'build [options]' - summary 'Builds a package from the module that can be published to the Puppet Forge.' +module PDK + module CLI + @build_cmd = @base_cmd.define_command do + name 'build' + usage 'build [options]' + summary 'Builds a package from the module that can be published to the Puppet Forge.' - option nil, 'target-dir', - 'The target directory where you want PDK to write the package.', - argument: :required, default: File.join(Dir.pwd, 'pkg') + option nil, 'target-dir', + 'The target directory where you want PDK to write the package.', + argument: :required, default: File.join(Dir.pwd, 'pkg') - option nil, 'force', 'Skips the prompts and builds the module package.' + option nil, 'force', 'Skips the prompts and builds the module package.' - run do |opts, _args, _cmd| - require 'pdk/module/build' - require 'pdk/module/metadata' - require 'pdk/cli/util' + run do |opts, _args, _cmd| + require 'pdk/module/build' + require 'pdk/module/metadata' + require 'pdk/cli/util' - # Make sure build is being run in a valid module directory with a metadata.json - PDK::CLI::Util.ensure_in_module!( - message: '`pdk build` can only be run from inside a valid module with a metadata.json.', - log_level: :info, - ) + # Make sure build is being run in a valid module directory with a metadata.json + PDK::CLI::Util.ensure_in_module!( + message: '`pdk build` can only be run from inside a valid module with a metadata.json.', + log_level: :info + ) - PDK::CLI::Util.analytics_screen_view('build', opts) + PDK::CLI::Util.analytics_screen_view('build', opts) - module_metadata = PDK::Module::Metadata.from_file('metadata.json') + module_metadata = PDK::Module::Metadata.from_file('metadata.json') - # TODO: Ensure forge metadata has been set, or call out to interview - # to set it. - # - unless module_metadata.forge_ready? - if opts[:force] - PDK.logger.warn "This module is missing the following fields in the metadata.json: #{module_metadata.missing_fields.join(', ')}. " \ - 'These missing fields may affect the visibility of the module on the Forge.' - else - module_metadata.interview_for_forge! - module_metadata.write!('metadata.json') + # TODO: Ensure forge metadata has been set, or call out to interview + # to set it. + # + unless module_metadata.forge_ready? + if opts[:force] + PDK.logger.warn "This module is missing the following fields in the metadata.json: #{module_metadata.missing_fields.join(', ')}. " \ + 'These missing fields may affect the visibility of the module on the Forge.' + else + module_metadata.interview_for_forge! + module_metadata.write!('metadata.json') + end end - end - builder = PDK::Module::Build.new(opts) + builder = PDK::Module::Build.new(opts) - unless opts[:force] - if builder.package_already_exists? - PDK.logger.info "The file '%{package}' already exists." % { package: builder.package_file } + unless opts[:force] + if builder.package_already_exists? + PDK.logger.info format("The file '%{package}' already exists.", package: builder.package_file) - unless PDK::CLI::Util.prompt_for_yes('Overwrite?', default: false) - PDK.logger.info 'Build cancelled; exiting.' - exit 0 + unless PDK::CLI::Util.prompt_for_yes('Overwrite?', default: false) + PDK.logger.info 'Build cancelled; exiting.' + exit 0 + end end - end - unless builder.module_pdk_compatible? - PDK.logger.info 'This module is not compatible with PDK, so PDK can not validate or test this build. ' \ - 'Unvalidated modules may have errors when uploading to the Forge. ' \ - 'To make this module PDK compatible and use validate features, cancel the build and run `pdk convert`.' + unless builder.module_pdk_compatible? + PDK.logger.info 'This module is not compatible with PDK, so PDK can not validate or test this build. ' \ + 'Unvalidated modules may have errors when uploading to the Forge. ' \ + 'To make this module PDK compatible and use validate features, cancel the build and run `pdk convert`.' - unless PDK::CLI::Util.prompt_for_yes('Continue build without converting?') - PDK.logger.info 'Build cancelled; exiting.' - exit 0 + unless PDK::CLI::Util.prompt_for_yes('Continue build without converting?') + PDK.logger.info 'Build cancelled; exiting.' + exit 0 + end end end - end - PDK.logger.info 'Building %{module_name} version %{module_version}' % { - module_name: module_metadata.data['name'], - module_version: module_metadata.data['version'], - } + PDK.logger.info format('Building %{module_name} version %{module_version}', module_name: module_metadata.data['name'], module_version: module_metadata.data['version']) - builder.build + builder.build - PDK.logger.info 'Build of %{package_name} has completed successfully. Built package can be found here: %{package_path}' % { - package_name: module_metadata.data['name'], - package_path: builder.package_file, - } + PDK.logger.info format('Build of %{package_name} has completed successfully. Built package can be found here: %{package_path}', package_name: module_metadata.data['name'], + package_path: builder.package_file) + end end end end