nextflowSpec top-level property

FigSpec nextflowSpec
final

Completion spec for nextflow CLI

Implementation

final FigSpec nextflowSpec = FigSpec(
    name: 'nextflow',
    description:
        'Nextflow enables scalable and reproducible scientific workflows using software containers. It allows the adaptation of pipelines written in the most common scripting languages',
    parserDirectives: ParserDirectives(flagsArePosixNoncompliant: true),
    subcommands: [
      Subcommand(
          name: 'clean',
          description:
              'Clean up project cache and work directories (Default: last run)',
          args: [
            Arg(name: 'run_name|session_id', generators: runname)
          ],
          options: [
            Option(
                name: '-after',
                description: 'Clean up runs executed after the specified one',
                args: [Arg(name: 'run name', generators: runname)]),
            Option(
                name: '-before',
                description: 'Clean up runs executed before the specified one',
                args: [Arg(name: 'run name', generators: runname)]),
            Option(
                name: '-but',
                description: 'Clean up all runs except the specified one',
                args: [Arg(name: 'run name', generators: runname)]),
            Option(
                name: ['-n', '-dry-run'],
                description:
                    'Print names of file to be removed without deleting them (Default: false)'),
            Option(
                name: ['-f', '-force'],
                description: 'Force clean command (Default: false)'),
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: ['-k', '-keep-logs'],
                description:
                    'Removes only temporary files but retains execution log entries and metadata (Default: false)'),
            Option(
                name: ['-q', '-quiet'],
                description:
                    'Do not print names of files removed (Default: false)')
          ]),
      Subcommand(
          name: 'clone',
          description: 'Clone a project into a folder',
          args: [
            Arg(name: 'namespace/repository_name')
          ],
          options: [
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: '-hub',
                description:
                    'Service hub where the project is hosted (Default: GitHub)',
                args: [Arg(name: 'gitlab|github|bitbucket')]),
            Option(
                name: '-r',
                description:
                    'Revision to clone - It can be a git branch, tag or revision number',
                args: [Arg(name: 'revision')]),
            Option(
                name: '-user',
                description: 'Private repository user name',
                args: [Arg(name: 'username')])
          ]),
      Subcommand(
          name: 'config',
          description: 'Print a project configuration',
          args: [
            Arg(name: 'project name', generators: projectname)
          ],
          options: [
            Option(
                name: '-flat',
                description:
                    'Print config using flat notation (Default: false)'),
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: '-profile',
                description: 'Choose a configuration profile'),
            Option(
                name: '-properties',
                description:
                    'Prints config using Java properties notatio (Default: false)'),
            Option(
                name: ['-a', '-show-profiles'],
                description: 'Show all configuration profiles'),
            Option(
                name: '-sort',
                description: 'Sort config attributes (Default: false)')
          ]),
      Subcommand(
          name: 'console',
          description: 'Launch Nextflow interactive console',
          options: [
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)')
          ]),
      Subcommand(
          name: 'drop',
          description: 'Delete the local copy of a project',
          args: [
            Arg(name: 'name of the project to drop', generators: projectname)
          ],
          options: [
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: '-f',
                description:
                    'Delete the repository without taking care of local changes (Default: false)')
          ]),
      Subcommand(
          name: 'help',
          description: 'Print the usage help for a command',
          options: [
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)')
          ]),
      Subcommand(
          name: 'info',
          description: 'Print project and system runtime information',
          args: [
            Arg(name: 'project name', generators: projectname)
          ],
          options: [
            Option(
                name: ['-u', '-check-updates'],
                description: 'Check for remote updates (Default: false)'),
            Option(
                name: '-d',
                description: 'Show detailed information (Default: false)'),
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: '-o',
                description:
                    'Output format, either: text (default), json, yaml')
          ]),
      Subcommand(
          name: 'kuberun',
          description:
              'Execute a workflow in a Kubernetes cluster (experimental)',
          args: [
            Arg(name: 'project name', generators: projectname)
          ],
          options: [
            Option(
                name: '-E',
                description:
                    'Exports all current system environment (Default: false)'),
            Option(
                name: '-ansi-log',
                description: 'Enable/disable ANSI console logging'),
            Option(
                name: '-bucket-dir',
                description:
                    'Remote bucket where intermediate result files are stored',
                args: [Arg(name: 'remote bucket')]),
            Option(
                name: '-cache',
                description: 'Enable/disable processes caching'),
            Option(
                name: '-disable-jobs-cancellation',
                description:
                    'Prevent the cancellation of child jobs on execution termination'),
            Option(
                name: '-dsl1',
                description:
                    'Execute the workflow using DSL1 syntax (Default: false)'),
            Option(
                name: '-dsl2',
                description:
                    'Execute the workflow using DSL2 syntax (Default: false)'),
            Option(
                name: '-dump-channels',
                description: 'Dump channels for debugging purpose'),
            Option(
                name: '-dump-hashes',
                description:
                    'Dump task hash keys for debugging purpose (Default: false)'),
            Option(
                name: '-e',
                description:
                    'Add the specified variable to execution environment. Syntax: -e.key=value (Default: {})',
                args: [Arg(name: 'key=value')]),
            Option(
                name: '-entry',
                description: 'Entry workflow name to be executed',
                args: [Arg(name: 'entry workflow name')]),
            Option(
                name: '-head-cpus',
                description:
                    'Specify number of CPUs requested for the Nextflow pod (Default: 0)'),
            Option(
                name: '-head-memory',
                description:
                    'Specify amount of memory requested for the Nextflow pod'),
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: '-hub',
                description:
                    'Service hub where the project is hosted (Default: github)',
                args: [Arg(name: 'service hub')]),
            Option(
                name: '-latest',
                description: 'Pull latest changes before run (Default: false)'),
            Option(
                name: '-lib',
                description: 'Library extension path',
                args: [Arg(name: 'library extension path')]),
            Option(
                name: '-main-script',
                description:
                    'The script file to be executed when launching a project directory or repository',
                args: [Arg(name: 'script file')]),
            Option(
                name: '-name',
                description: 'Assign a mnemonic name to the a pipeline run',
                args: [Arg(name: 'name')]),
            Option(
                name: ['-n', '-namespace'],
                description: 'Specify the K8s namespace to use'),
            Option(
                name: '-offline',
                description:
                    'Do not check for remote project updates (Default: false)'),
            Option(
                name: '-params-file',
                description: 'Load script parameters from a JSON/YAML file',
                args: [
                  Arg(name: 'JSON/YAML file', template: ['filepaths'])
                ]),
            Option(
                name: '-plugins',
                description:
                    'Specify the plugins to be applied for this run e.g. nf-amazon,nf-tower',
                args: [Arg(name: 'plugins ids separated by comma')]),
            Option(
                name: '-pod-image',
                description:
                    'Specify the container image for the Nextflow pod'),
            Option(
                name: '-process',
                description:
                    'Set process options. Syntax: -process.key=value (Default: {}',
                args: [Arg(name: 'key=value')]),
            Option(
                name: '-profile',
                description: 'Choose a configuration profile',
                args: [Arg(name: 'profile')]),
            Option(
                name: ['-qs', '-queue-size'],
                description:
                    'Max number of processes that can be executed in parallel by each executor',
                args: [Arg(name: 'number')]),
            Option(
                name: '-remoteProfile',
                description:
                    'Choose a configuration profile in the remoteConfig'),
            Option(
                name: '-resume',
                description:
                    'Execute the script using the cached results, useful to continue executions that was stopped by an error'),
            Option(
                name: ['-r', '-revision'],
                description:
                    'Revision of the project to run (either a git branch, tag or commit SHA number)',
                args: [Arg(name: 'project revision (tag/branch/hash')]),
            Option(
                name: ['-stub-run', '-stub'],
                description:
                    'Execute the workflow replacing process scripts with command stubs (Default: false)'),
            Option(
                name: '-test',
                description: 'Test a script function with the name specified',
                args: [Arg(name: 'name')]),
            Option(
                name: '-user',
                description: 'Private repository user name',
                args: [Arg(name: 'username')]),
            Option(
                name: ['-v', '-volume-mount'],
                description: 'Volume claim mounts eg. my-pvc:/mnt/path'),
            Option(
                name: '-with-charliecloud',
                description:
                    'Enable process execution in a Charliecloud container runtime'),
            Option(
                name: '-with-conda',
                description:
                    'Use the specified Conda environment package or file (must end with .yml|.yaml suffix)',
                args: [Arg(name: 'conda .yml/.yaml file')]),
            Option(
                name: '-with-dag',
                description: 'Create pipeline DAG file',
                args: [Arg(name: 'filename, e.g. dag.dot')]),
            Option(
                name: '-with-docker',
                description: 'Enable process execution in a Docker container',
                args: [
                  Arg(
                      name: 'a docker container image',
                      isOptional: true,
                      generators: dockerimage)
                ]),
            Option(
                name: ['-N', '-with-notification'],
                description:
                    'Send a notification email on workflow completion to the specified recipients',
                args: [Arg(name: 'email')]),
            Option(
                name: '-with-podman',
                description: 'Enable process execution in a Podman container'),
            Option(
                name: '-with-report',
                description: 'Create processes execution html report',
                args: [Arg(name: 'report filename e.g. report.html')]),
            Option(
                name: '-with-singularity',
                description:
                    'Enable process execution in a Singularity container'),
            Option(
                name: '-with-timeline',
                description: 'Create processes execution timeline file',
                args: [Arg(name: 'timeline filename e.g. timeline.html')]),
            Option(
                name: '-with-tower',
                description:
                    'Monitor workflow execution with Seqera Tower service'),
            Option(
                name: '-with-trace',
                description: 'Create processes execution tracing file',
                args: [Arg(name: 'trace text filename e.g. trace.txt')]),
            Option(
                name: '-with-weblog',
                description:
                    'Send workflow status messages via HTTP to target URL',
                args: [Arg(name: 'target web URL')]),
            Option(
                name: '-without-docker',
                description:
                    'Disable process execution with Docker (Default: false)'),
            Option(
                name: '-without-podman',
                description: 'Disable process execution in a Podman container'),
            Option(
                name: ['-w', '-work-dir'],
                description:
                    'Directory where intermediate result files are stored',
                args: [Arg(name: 'work dir')])
          ]),
      Subcommand(
          name: 'list',
          description: 'List all downloaded projects',
          options: [
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)')
          ]),
      Subcommand(
          name: 'log',
          description: 'Print executions log and runtime info',
          args: [
            Arg(name: 'run name', generators: runname)
          ],
          options: [
            Option(
                name: '-after',
                description:
                    'Show log entries for runs executed after the specified one',
                args: [Arg(name: 'run name', generators: runname)]),
            Option(
                name: '-before',
                description:
                    'Show log entries for runs executed before the specified one',
                args: [Arg(name: 'run name', generators: runname)]),
            Option(
                name: '-but',
                description:
                    'Show log entries of all runs except the specified one',
                args: [Arg(name: 'run name', generators: runname)]),
            Option(
                name: ['-f', '-fields'],
                description:
                    'Comma separated list of fields to include in the printed log -- Use the `-l` option to show the list of available fields',
                args: [Arg(name: 'field1,field2,...')]),
            Option(
                name: ['-F', 'filter'],
                description:
                    'Filter log entries by a custom expression e.g. process =~ /foo.*/ && status == \'COMPLETED\'',
                args: [Arg(name: 'expression')]),
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: ['-l', '-list-fields'],
                description: 'Show all available fields (Default: false)'),
            Option(
                name: ['-q', '-quiet'],
                description: 'Show only run names (Default: false)'),
            Option(
                name: '-s',
                description:
                    'Character used to separate column values (Default: )',
                args: [Arg(name: 'character')]),
            Option(
                name: ['-t', '-template'],
                description: 'Text template used to each record in the log',
                args: [Arg(name: 'template')])
          ]),
      Subcommand(
          name: 'pull',
          description: 'Download or update a project',
          args: [
            Arg(
                name: 'project name or repository url to pull',
                generators: projectname)
          ],
          options: [
            Option(
                name: '-all',
                description: 'Update all downloaded projects (Default: false)'),
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: '-hub',
                description: 'Service hub where the project is hosted'),
            Option(
                name: ['-r', '-revision'],
                description:
                    'Revision of the project to run (either a git branch, tag or commit SHA number)'),
            Option(name: '-user', description: 'Private repository user name')
          ]),
      Subcommand(name: 'run', description: 'Execute a pipeline project', args: [
        Arg(
            name: 'project name, repository url, or local path',
            generators: projectname)
      ], options: [
        Option(
            name: '-E',
            description:
                'Exports all current system environment (Default: false)'),
        Option(
            name: '-ansi-log',
            description: 'Enable/disable ANSI console logging'),
        Option(
            name: '-bucket-dir',
            description:
                'Remote bucket where intermediate result files are stored',
            args: [Arg(name: 'remote bucket')]),
        Option(name: '-cache', description: 'Enable/disable processes caching'),
        Option(
            name: '-disable-jobs-cancellation',
            description:
                'Prevent the cancellation of child jobs on execution termination'),
        Option(
            name: '-dsl1',
            description:
                'Execute the workflow using DSL1 syntax (Default: false)'),
        Option(
            name: '-dsl2',
            description:
                'Execute the workflow using DSL2 syntax (Default: false)'),
        Option(
            name: '-dump-channels',
            description: 'Dump channels for debugging purpose'),
        Option(
            name: '-dump-hashes',
            description:
                'Dump task hash keys for debugging purpose (Default: false)'),
        Option(
            name: '-e.',
            description:
                'Add the specified variable to execution environment. Syntax: -e.key=value (Default: {})',
            insertValue: '-e.{cursor}',
            args: [Arg(name: 'key=value')]),
        Option(
            name: '-entry',
            description: 'Entry workflow name to be executed',
            args: [Arg(name: 'entry workflow name')]),
        Option(
            name: ['-h', '-help'],
            description: 'Print the command usage (Default: false)'),
        Option(
            name: '-hub',
            description:
                'Service hub where the project is hosted (Default: github)',
            args: [Arg(name: 'service hub')]),
        Option(
            name: '-latest',
            description: 'Pull latest changes before run (Default: false)'),
        Option(
            name: '-lib',
            description: 'Library extension path',
            args: [Arg(name: 'library extension path')]),
        Option(
            name: '-main-script',
            description:
                'The script file to be executed when launching a project directory or repository',
            args: [Arg(name: 'script file')]),
        Option(
            name: '-name',
            description: 'Assign a mnemonic name to the a pipeline run',
            args: [Arg(name: 'name')]),
        Option(
            name: '-offline',
            description:
                'Do not check for remote project updates (Default: false)'),
        Option(
            name: '-params-file',
            description: 'Load script parameters from a JSON/YAML file',
            args: [
              Arg(name: 'JSON/YAML file', template: ['filepaths'])
            ]),
        Option(
            name: '-plugins',
            description:
                'Specify the plugins to be applied for this run e.g. nf-amazon,nf-tower',
            args: [Arg(name: 'plugins ids separated by comma')]),
        Option(
            name: '-process.',
            description:
                'Set process options. Syntax: -process.key=value (Default: {}',
            insertValue: '-process.{cursor}',
            args: [Arg(name: 'key=value')]),
        Option(
            name: '-profile',
            description: 'Choose a configuration profile',
            args: [Arg(name: 'profile')]),
        Option(
            name: ['-qs', '-queue-size'],
            description:
                'Max number of processes that can be executed in parallel by each executor',
            args: [Arg(name: 'number')]),
        Option(
            name: '-resume',
            description:
                'Execute the script using the cached results, useful to continue executions that was stopped by an error',
            args: [
              Arg(name: 'session ID', isOptional: true, generators: sessionid)
            ]),
        Option(
            name: ['-r', '-revision'],
            description:
                'Revision of the project to run (either a git branch, tag or commit SHA number)',
            args: [Arg(name: 'project revision (tag/branch/hash')]),
        Option(
            name: ['-stub-ru', '-stub'],
            description:
                'Execute the workflow replacing process scripts with command stubs (Default: false)'),
        Option(
            name: '-test',
            description: 'Test a script function with the name specified',
            args: [Arg(name: 'name')]),
        Option(
            name: '-user',
            description: 'Private repository user name',
            args: [Arg(name: 'username')]),
        Option(
            name: '-with-charliecloud',
            description:
                'Enable process execution in a Charliecloud container runtime'),
        Option(
            name: '-with-conda',
            description:
                'Use the specified Conda environment package or file (must end with .yml|.yaml suffix)',
            args: [Arg(name: 'conda .yml/.yaml file')]),
        Option(
            name: '-with-dag',
            description: 'Create pipeline DAG file',
            args: [Arg(name: 'filename, e.g. dag.dot')]),
        Option(
            name: '-with-docker',
            description: 'Enable process execution in a Docker container',
            args: [
              Arg(
                  name: 'a docker container image',
                  isOptional: true,
                  generators: dockerimage)
            ]),
        Option(
            name: ['-N', '-with-notification'],
            description:
                'Send a notification email on workflow completion to the specified recipients',
            args: [Arg(name: 'email')]),
        Option(
            name: '-with-podman',
            description: 'Enable process execution in a Podman container'),
        Option(
            name: '-with-report',
            description: 'Create processes execution html report',
            args: [Arg(name: 'report filename e.g. report.html')]),
        Option(
            name: '-with-singularity',
            description: 'Enable process execution in a Singularity container'),
        Option(
            name: '-with-timeline',
            description: 'Create processes execution timeline file',
            args: [Arg(name: 'timeline filename e.g. timeline.html')]),
        Option(
            name: '-with-tower',
            description:
                'Monitor workflow execution with Seqera Tower service'),
        Option(
            name: '-with-trace',
            description: 'Create processes execution tracing file',
            args: [Arg(name: 'trace text filename e.g. trace.txt')]),
        Option(
            name: '-with-weblog',
            description: 'Send workflow status messages via HTTP to target URL',
            args: [Arg(name: 'target web URL')]),
        Option(
            name: '-without-docker',
            description:
                'Disable process execution with Docker (Default: false)'),
        Option(
            name: '-without-podman',
            description: 'Disable process execution in a Podman container'),
        Option(
            name: ['-w', '-work-dir'],
            description: 'Directory where intermediate result files are stored',
            args: [Arg(name: 'work dir')])
      ]),
      Subcommand(
          name: 'secrets',
          description:
              'Handle and manage sensitive information for pipeline execution in a safe manner',
          options: [
            Option(
                name: 'list',
                description:
                    'List secrets available in the current store e.g. nextflow secrets list'),
            Option(
                name: 'get',
                description:
                    'Allows retrieving a secret value e.g. nextflow secrets get FOO',
                args: [Arg(name: 'secret name', generators: secretname)]),
            Option(
                name: 'set',
                description:
                    'Allows creating creating a new secret or overriding an existing one e.g. nextflow secrets set FOO "Hello world"',
                isDangerous: true,
                args: [
                  Arg(name: 'secret name and value', generators: secretname)
                ]),
            Option(
                name: 'delete',
                description:
                    'Allows deleting an existing secret e.g. nextflow secrets delete FOO',
                isDangerous: true,
                args: [Arg(name: 'secret name', generators: secretname)])
          ]),
      Subcommand(
          name: 'self-update',
          description:
              'Update nextflow runtime to the latest available version',
          options: [
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)')
          ]),
      Subcommand(
          name: 'view',
          description: 'View project script file(s)',
          args: [
            Arg(name: 'project name', generators: projectname)
          ],
          options: [
            Option(
                name: ['-h', '-help'],
                description: 'Print the command usage (Default: false)'),
            Option(
                name: '-l',
                description: 'List repository content (Default: false)'),
            Option(name: '-q', description: 'Hide header line (Default: false)')
          ])
    ],
    options: [
      Option(
          name: '-C',
          description:
              'Use the specified configuration file(s) overriding any defaults',
          args: [
            Arg(name: 'configuration file', template: ['filepaths'])
          ]),
      Option(
          name: '-D',
          description: 'Set JVM properties',
          insertValue: '-D{cursor}',
          args: [Arg(name: 'custom Java system property')]),
      Option(name: '-bg', description: 'Execute nextflow in background'),
      Option(
          name: ['-c', '-config'],
          description: 'Add the specified file to configuration set',
          args: [
            Arg(name: 'configuration file', template: ['filepaths'])
          ]),
      Option(
          name: ['-d', '-dockerize'],
          description: 'Launch nextflow via Docker (experimental)'),
      Option(name: '-h', description: 'Print this help'),
      Option(name: '-log', description: 'Set nextflow log file path'),
      Option(
          name: ['-q', '-quiet'],
          description: 'Do not print information messages'),
      Option(
          name: '-syslog',
          description: 'Send logs to syslog server (eg. localhost:514)'),
      Option(name: ['-v', '-version'], description: 'Print the program version')
    ]);