org.gradle.api.tasks.options

## Annotation Type Option

-     @Retention(value=RUNTIME)
       @Target(value={METHOD,FIELD})
       @Inherited
       @Incubating
      public @interface Option

  Marks a property of a `Task` as being configurable from the command-line.

  This annotation should be attached to a field or a setter method. When attached to a field, `option()` will use the name of the field by default. When attached to a method, `option()` must be specified.

  An option may have one of the following types:

  - `boolean`
  - `Boolean`
  - `Enum`
  - `List&lt;Enum&gt;`
  - `List&lt;String&gt;`
  - `String`
  Since:
    4.6

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String` | `description` The description of this option.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `option` The option to map to this property.

- - ### Element Detail

    - #### description

          public abstract String description

      The description of this option.
      Returns:
        The description.

  - - #### option

          public abstract String option

      The option to map to this property. Required when annotating a method. May be omitted when annotating a field in which case the field's name will be used.
      Returns:
        The option.
      Default:
        ""