bundleSpec top-level property

FigSpec bundleSpec
final

Completion spec for bundle CLI

Implementation

final FigSpec bundleSpec = FigSpec(
    name: 'bundle',
    description: 'Ruby Dependency Management',
    subcommands: [
      FigSubcommand(
          name: 'install',
          description:
              'Install the gems specified by the Gemfile or Gemfile.lock',
          options: [
            FigOption(
                name: '--binstubs',
                args: [FigArg(template: 'folder')],
                description: 'Create binstubs in dir'),
            FigOption(
                name: '--clean',
                description: 'Remove unused gems after install'),
            FigOption(
                name: '--deployment', description: 'For Production and CI use'),
            FigOption(
                name: ['--force', '--redownload'],
                description: 'Redownload all gems'),
            FigOption(
                name: '--frozen',
                description: 'Do not allow lock file to update'),
            FigOption(
                name: '--full-index',
                description: 'Cache the full index locally'),
            FigOption(
                name: '--gemfile',
                args: [FigArg(template: 'filepath')],
                description: 'The gemfile to use'),
            FigOption(
                name: '--jobs',
                args: [FigArg()],
                description: 'Maximum number of parallel installs'),
            FigOption(
                name: '--local',
                description: 'Use only gems already downloaded or cached'),
            FigOption(
                name: '--no-cache', description: 'Do not use vendor/cache'),
            FigOption(
                name: '--no-prune', description: 'Do not remove stale gems'),
            FigOption(
                name: '--path',
                args: [FigArg(template: 'folder')],
                description: 'Path the install gems too'),
            FigOption(name: '--quiet', description: 'Do not print to stdout'),
            FigOption(
                name: '--retry',
                args: [FigArg()],
                description: 'Retry failed network requests N times'),
            FigOption(
                name: '--shebang',
                args: [FigArg()],
                description: 'Uses the specified ruby executable for binstubs'),
            FigOption(
                name: '--standalone',
                args: [FigArg()],
                description:
                    'Makes a bundle that can work without depending on Rubygems or Bundler at runtime'),
            FigOption(
                name: '--system', description: 'Use system Rubygems location'),
            FigOption(
                name: '--trust-policy',
                args: [FigArg()],
                description: 'Apply the Rubygems security policy'),
            FigOption(
                name: '--with',
                args: [FigArg()],
                description: 'Groups to install'),
            FigOption(
                name: '--without',
                args: [FigArg()],
                description: 'Groups to NOT install')
          ]),
      FigSubcommand(
          name: 'update',
          description: 'Update dependencies to their latest versions',
          args: [
            FigArg(
                name: 'gem',
                generators: [gemfileGemsGenerator],
                isOptional: true)
          ],
          options: [
            FigOption(
                name: '--all',
                description: 'Update all gems specified in Gemfile'),
            FigOption(
                name: ['--group', '-g'],
                description: 'Only update the gems in the specified group',
                args: [FigArg()]),
            FigOption(
                name: '--source',
                description:
                    'The name of a :git or :path source used in the Gemfile',
                args: [FigArg()]),
            FigOption(
                name: '--local',
                description: 'Use only gems already downloaded or cached'),
            FigOption(
                name: '--ruby',
                description:
                    'Update the locked version of Ruby to the current version of Ruby'),
            FigOption(
                name: '--bundler',
                description:
                    'Update the locked version of bundler to the invoked bundler version'),
            FigOption(
                name: '--full-index',
                description:
                    'Fall back to using the single-file index of all gems'),
            FigOption(
                name: ['--jobs', '-j'],
                description:
                    'Specify the number of jobs to run in parallel. The default is 1',
                args: [FigArg()]),
            FigOption(
                name: '--retry',
                description:
                    'Retry failed network or git requests for number times',
                args: [FigArg()]),
            FigOption(
                name: '--quiet',
                description: 'Only output warnings and errors'),
            FigOption(
                name: ['--force', '--redownload'],
                description: 'Force downloading every gem'),
            FigOption(
                name: '--patch',
                description: 'Prefer updating only to next patch version'),
            FigOption(
                name: '--minor',
                description: 'Prefer updating only to next minor version'),
            FigOption(
                name: '--major',
                description: 'Prefer updating to next major version (default)'),
            FigOption(
                name: '--strict',
                description:
                    'Do not allow any gem to be updated past latest --patch | --minor | --major'),
            FigOption(
                name: '--conservative',
                description: 'Do not allow shared dependencies to be updated')
          ]),
      FigSubcommand(
          name: 'package',
          description:
              'Package the .gem files required by your application into the vendor/cache directory'),
      FigSubcommand(
          name: 'exec',
          description: 'Execute a command in the context of the bundle',
          options: [
            FigOption(
                name: '--keep-file-descriptors',
                description: 'Pass all file descriptors to the new process')
          ],
          args: [
            FigArg(isCommand: true)
          ]),
      FigSubcommand(name: 'config', args: [FigArg()]),
      FigSubcommand(name: 'help'),
      FigSubcommand(
          name: 'add',
          description: 'Add gem to the Gemfile and run bundle install',
          args: [
            FigArg()
          ],
          options: [
            FigOption(
                name: ['--version', '-v'],
                description: 'Specify version requirements'),
            FigOption(
                name: ['--group', '-g'],
                description: 'Specify the group(s) for the added gem'),
            FigOption(
                name: ['--source', '-s'], description: 'Specify the source'),
            FigOption(
                name: '--skip-install',
                description:
                    'Adds the gem to the Gemfile but does not install it'),
            FigOption(
                name: '--optimistic',
                description: 'Adds optimistic declaration of version'),
            FigOption(
                name: '--strict',
                description: 'Adds strict declaration of version')
          ]),
      FigSubcommand(
          name: 'binstubs',
          description: 'Install the binstubs of the listed gems',
          args: [
            FigArg()
          ],
          options: [
            FigOption(
                name: '--force', description: 'Overwrite existing binstubs'),
            FigOption(
                name: '--path',
                description:
                    'The location to install the specified binstubs to'),
            FigOption(
                name: '--standalone',
                description:
                    'Makes binstubs that can work without depending on Rubygems or Bundler at runtime'),
            FigOption(
                name: '--shebang',
                description:
                    'Specify a different shebang executable name than the default')
          ]),
      FigSubcommand(
          name: 'check',
          description:
              'Determine whether the requirements for your application are installed and available to Bundler',
          options: [
            FigOption(
                name: '--dry-run',
                description: 'Locks the Gemfile before running the command'),
            FigOption(
                name: '--gemfile',
                description:
                    'Use the specified gemfile instead of the Gemfile'),
            FigOption(
                name: '--path',
                description: 'Specify a different path than the system default')
          ]),
      FigSubcommand(
          name: 'show',
          description:
              'Show the source location of a particular gem in the bundle',
          args: [
            FigArg(
                name: 'gem',
                generators: [gemfileGemsGenerator],
                isOptional: true)
          ],
          options: [
            FigOption(
                name: '--paths',
                description:
                    'List the paths of all gems that are required by your Gemfile')
          ]),
      FigSubcommand(
          name: 'outdated',
          description: 'Show all of the outdated gems in the current bundle',
          options: [
            FigOption(
                name: '--local',
                description:
                    'Do not attempt to fetch gems remotely and use the gem cache instead'),
            FigOption(
                name: '--pre', description: 'Check for newer pre-release gems'),
            FigOption(
                name: '--source',
                description: 'Check against a specific source'),
            FigOption(
                name: '--strict',
                description:
                    'Only list newer versions allowed by your Gemfile requirements'),
            FigOption(name: [
              '--parseable',
              '--porcelain'
            ], description: 'Use minimal formatting for more parseable output'),
            FigOption(
                name: '--group',
                description: 'List gems from a specific group'),
            FigOption(
                name: '--groups', description: 'List gems organized by groups'),
            FigOption(
                name: '--update-strict',
                description:
                    'Strict conservative resolution, do not allow any gem to be updated past latest --patch | --minor| --major'),
            FigOption(
                name: '--minor',
                description: 'Prefer updating only to next minor version'),
            FigOption(
                name: '--major',
                description: 'Prefer updating to next major version (default)'),
            FigOption(
                name: '--patch',
                description: 'Prefer updating only to next patch version'),
            FigOption(
                name: '--filter-major',
                description: 'Only list major newer versions'),
            FigOption(
                name: '--filter-minor',
                description: 'Only list minor newer versions'),
            FigOption(
                name: '--filter-patch',
                description: 'Only list patch newer versions'),
            FigOption(
                name: '--only-explicit',
                description:
                    'Only list gems specified in your Gemfile, not their dependencies')
          ]),
      FigSubcommand(
          name: 'console',
          description: 'Start an IRB session in the current bundle'),
      FigSubcommand(
          name: 'open',
          description: 'Open an installed gem in the editor',
          args: [
            FigArg(name: 'gem', generators: [gemfileGemsGenerator])
          ]),
      FigSubcommand(
          name: 'lock',
          description: 'Generate a lockfile for your dependencies',
          options: [
            FigOption(
                name: '--update',
                description: 'Ignores the existing lockfile',
                args: [FigArg()]),
            FigOption(
                name: '--local',
                description: 'Do not attempt to connect to rubygems.org'),
            FigOption(
                name: '--print',
                description:
                    'Prints the lockfile to STDOUT instead of writing to the file\n system'),
            FigOption(
                name: '--lockfile',
                description: 'The path where the lockfile should be written to',
                args: [FigArg(name: 'pat')]),
            FigOption(
                name: '--full-index',
                description:
                    'Fall back to using the single-file index of all gems'),
            FigOption(
                name: '--add-platform',
                description:
                    'Add a new platform to the lockfile, re-resolving for the addi-\n tion of that platform'),
            FigOption(
                name: '--remove-platform',
                description: 'Remove a platform from the lockfile'),
            FigOption(
                name: '--patch',
                description:
                    'If updating, prefer updating only to next patch version'),
            FigOption(
                name: '--minor',
                description:
                    'If updating, prefer updating only to next minor version'),
            FigOption(
                name: '--major',
                description:
                    'If updating, prefer updating to next major version (default)'),
            FigOption(
                name: '--strict',
                description:
                    'If updating, do not allow any gem to be updated past latest --patch | --minor | --major'),
            FigOption(
                name: '--conservative',
                description:
                    'If updating, use bundle install conservative update behavior and do not allow shared dependencies to be updated')
          ]),
      FigSubcommand(
          name: 'viz',
          description: 'Generate a visual representation of your dependencies',
          options: [
            FigOption(
                name: ['--file', '-f'],
                description:
                    'The name to use for the generated file. See --format option'),
            FigOption(
                name: ['--format', '-F'],
                description: 'This is output format option'),
            FigOption(
                name: ['--requirements', '-R'],
                description:
                    'Set to show the version of each required dependency'),
            FigOption(
                name: ['--version', '-v'],
                description: 'Set to show each gem version'),
            FigOption(
                name: ['--without', '-W'],
                description:
                    'Exclude gems that are part of the specified named group')
          ]),
      FigSubcommand(
          name: 'init',
          description:
              'Generate a simple Gemfile, placed in the current directory',
          options: [
            FigOption(
                name: '--gemspec',
                description: 'Use the specified .gemspec to create the Gemfile')
          ]),
      FigSubcommand(
          name: 'gem',
          description:
              'Create a simple gem, suitable for development with Bundler',
          options: [
            FigOption(
                name: ['--exe', '-b', '--bin'],
                description:
                    'Specify that Bundler should create a binary executable'),
            FigOption(name: '--no-exe', description: 'Do not create a binary'),
            FigOption(
                name: '--coc',
                description:
                    'Add a CODE_OF_CONDUCT.md file to the root of the generated project'),
            FigOption(
                name: '--no-coc',
                description: 'Do not create a CODE_OF_CONDUCT.md'),
            FigOption(
                name: '--ext',
                description:
                    'Add boilerplate for C extension code to the generated project'),
            FigOption(
                name: '--no-ext', description: 'Do not add C extension code'),
            FigOption(name: '--mit', description: 'Add an MIT license'),
            FigOption(
                name: '--no-mit', description: 'Do not create a LICENSE.txt'),
            FigOption(
                name: ['-t', '--test'],
                description:
                    'Specify the test framework that Bundler should use',
                args: [FigArg()]),
            FigOption(
                name: ['-e', '--edit'],
                description: 'Open the resulting gemspec in EDITOR',
                args: [FigArg()])
          ]),
      FigSubcommand(
          name: 'platform',
          description: 'Display platform compatibility information',
          options: [
            FigOption(
                name: '--ruby',
                description:
                    'It will display the ruby directive information so you don\'t have to parse it from the Gemfile')
          ]),
      FigSubcommand(
          name: 'clean',
          description: 'Clean up unused gems in your Bundler directory',
          options: [
            FigOption(
                name: '--dry-run',
                description:
                    'Print the changes, but do not clean the unused gems'),
            FigOption(
                name: '--force',
                description: 'Force a clean even if --path is not set')
          ]),
      FigSubcommand(
          name: 'doctor',
          description: 'Display warnings about common problems',
          options: [
            FigOption(
                name: '--quiet',
                description: 'Only output warnings and errors'),
            FigOption(
                name: '--gemfile',
                description:
                    'The location of the Gemfile which Bundler should use',
                args: [FigArg()])
          ])
    ],
    options: [
      FigOption(
          name: '--no-color', description: 'Print all output without color'),
      FigOption(
          name: ['--retry', '-r'],
          description:
              'Specify the number of times you wish to attempt network commands'),
      FigOption(
          name: ['--verbose', '-V'],
          description: 'Print out additional logging information')
    ]);