Implementation
final FigSpec gradleSpec = FigSpec(
name: 'gradle',
description:
'Gradle is an open-source build automation tool that is designed to be flexible enough to build almost any type of software',
subcommands: [
FigSubcommand(
name: 'build',
description: 'Compute all outputs',
options: sharedOptions,
),
FigSubcommand(
name: 'run',
description: 'Run applications',
options: sharedOptions,
),
FigSubcommand(
name: 'check',
description: 'Run all checks',
options: sharedOptions,
),
FigSubcommand(
name: 'clean',
description: 'Clear the contents of the build directory',
options: sharedOptions,
),
FigSubcommand(
name: 'projects',
description: 'List of all sub-projects',
options: sharedOptions,
),
FigSubcommand(
name: 'tasks',
description: 'List of main tasks of the selected project',
options: [
FigOption(
name: ['--all'],
description:
'By default, this report shows only those tasks which have been assigned to a task group. You can obtain more information in the task listing using the --all option',
),
FigOption(
name: ['--group'],
description:
'If you need to be more precise, you can display only the tasks from a specific group',
args: [
FigArg(
name: 'group',
),
],
),
...sharedOptions,
],
),
FigSubcommand(
name: 'help',
description: 'Display task usage information',
options: [
FigOption(
name: ['--task'],
isRequired: true,
args: [
FigArg(
name: 'task',
),
],
),
...sharedOptions,
],
),
FigSubcommand(
name: 'dependencies',
description:
'Gives you a list of the dependencies of the selected project, broken down by configuration',
options: sharedOptions,
),
FigSubcommand(
name: 'buildEnvironment',
description:
'Visualises the buildscript dependencies of the selected project',
options: sharedOptions,
),
FigSubcommand(
name: 'dependencyInsight',
description:
'Gives you an insight into a particular dependency (or dependencies) that match specified input',
options: sharedOptions,
),
FigSubcommand(
name: 'properties',
description: 'Gives you a list of the properties of the selected project',
options: sharedOptions,
),
FigSubcommand(
name: '--status',
description:
'(Standalone command) List running and recently stopped Gradle daemons. Only displays daemons of the same Gradle version',
),
FigSubcommand(
name: '--stop',
description:
'(Standalone command) Stop all Gradle Daemons of the same version',
),
FigSubcommand(
name: 'init',
description: 'Create new Gradle builds, with new or existing projects',
options: [
FigOption(
name: ['--type'],
description: 'Specify project type',
args: [
FigArg(
name: 'type',
defaultValue: 'basic',
suggestions: ['basic', 'java-library', 'java-application'],
),
],
),
...sharedOptions,
],
),
FigSubcommand(
name: 'wrapper',
description:
'Generates a script, gradlew, that invokes a declared version of Gradle, downloading it beforehand if necessary',
options: [
FigOption(
name: ['--gradle-version'],
description:
'The Gradle version used for downloading and executing the Wrapper',
args: [
FigArg(
name: 'version',
),
],
),
FigOption(
name: ['--distribution-type'],
description: 'The Gradle distribution type used for the Wrapper',
args: [
FigArg(
name: 'type',
defaultValue: 'bin',
suggestions: ['bin', 'all'],
),
],
),
FigOption(
name: ['--gradle-distribution-url'],
description: 'The full URL pointing to Gradle distribution ZIP file',
args: [
FigArg(
name: 'url',
),
],
),
FigOption(
name: ['--gradle-distribution-sha256-sum'],
description:
'The SHA256 hash sum used for verifying the downloaded Gradle distribution',
args: [
FigArg(
name: 'SHA256 hash sum',
),
],
),
...sharedOptions,
],
),
FigSubcommand(
name: 'test',
description: 'Run a test task',
options: [
FigOption(
name: ['--continuous'],
description:
'Allows you to automatically re-execute the requested tasks when task inputs change',
),
FigOption(
name: ['--rerun-tasks'],
description:
'This will force test and all task dependencies of test to execute',
),
FigOption(
name: ['--continue'],
description:
'Gradle will execute every task to be executed where all of the dependencies for that task completed without failure',
),
...sharedOptions,
],
),
],
options: sharedOptions,
args: [
FigArg(
name: 'task name',
isVariadic: true,
isOptional: true,
),
],
);