Sha256: 14644bdfa54d92be6912ff2bc8b4dc4e6dd696e5a9d32ff13495413b78f002a8

Contents?: true

Size: 1.69 KB

Versions: 6

Compression:

Stored size: 1.69 KB

Contents

module PDK::CLI
  @new_module_cmd = @new_cmd.define_command do
    name 'module'
    usage _('module [options] [module_name] [target_dir]')
    summary _('Create a new module named [module_name] using given options')

    PDK::CLI.template_url_option(self)
    PDK::CLI.template_ref_option(self)
    PDK::CLI.skip_interview_option(self)
    PDK::CLI.full_interview_option(self)

    option nil, 'license', _('Specifies the license this module is written under. ' \
      "This should be a identifier from https://spdx.org/licenses/. Common values are 'Apache-2.0', 'MIT', or 'proprietary'."), argument: :required
    option nil, 'skip-bundle-install', _('Do not automatically run `bundle install` after creating the module.'), hidden: true

    run do |opts, args, _cmd|
      require 'pdk/generate/module'

      module_name = args[0]
      target_dir = args[1]

      PDK::CLI::Util.validate_template_opts(opts)

      PDK::CLI::Util.analytics_screen_view('new_module', opts)

      if opts[:'skip-interview'] && opts[:'full-interview']
        PDK.logger.info _('Ignoring --full-interview and continuing with --skip-interview.')
        opts[:'full-interview'] = false
      end

      unless module_name.nil? || module_name.empty?
        module_name_parts = module_name.split('-', 2)
        if module_name_parts.size > 1
          opts[:username] = module_name_parts[0]
          opts[:module_name] = module_name_parts[1]
        else
          opts[:module_name] = module_name
        end
        opts[:target_dir] = target_dir.nil? ? opts[:module_name] : target_dir
      end

      PDK.logger.info(_('Creating new module: %{modname}') % { modname: module_name })
      PDK::Generate::Module.invoke(opts)
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
pdk-akerl-1.14.0.1 lib/pdk/cli/new/module.rb
pdk-1.14.0 lib/pdk/cli/new/module.rb
pdk-1.13.0 lib/pdk/cli/new/module.rb
pdk-1.12.0 lib/pdk/cli/new/module.rb
pdk-1.11.1 lib/pdk/cli/new/module.rb
pdk-1.11.0 lib/pdk/cli/new/module.rb