Package org.gradle.api.tasks

## Interface TaskInputs

-     public interface TaskInputs

  A `TaskInputs` represents the inputs for a task.

  You can obtain a `TaskInputs` instance using `Task.getInputs()`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TaskInputFilePropertyBuilder` | `dir​(Object dirPath)` | Registers an input directory hierarchy.
    `TaskInputFilePropertyBuilder` | `file​(Object path)` | Registers some input file for this task.
    `TaskInputFilePropertyBuilder` | `files​(Object... paths)` | Registers some input files for this task.
    `FileCollection` | `getFiles()` | Returns the input files of this task.
    `boolean` | `getHasInputs()` | Returns true if this task has declared the inputs that it consumes.
    `boolean` | `getHasSourceFiles()` | Returns true if this task has declared that it accepts source files.
    `Map<String,​Object>` | `getProperties()` | Returns a map of input properties for this task.
    `FileCollection` | `getSourceFiles()` | Returns the set of source files for this task.
    `TaskInputs` | `properties​(Map<String,​?> properties)` | Registers a set of input properties for this task.
    `TaskInputPropertyBuilder` | `property​(String name, Object value)` | Registers an input property for this task.

- - ### Method Detail

    - #### getHasInputs

          boolean getHasInputs()

      Returns true if this task has declared the inputs that it consumes.
      Returns:
        true if this task has declared any inputs.

    - #### getFiles

          FileCollection getFiles()

      Returns the input files of this task.
      Returns:
        The input files. Returns an empty collection if this task has no input files.

    - #### files

          TaskInputFilePropertyBuilder files​(Object... paths)

      Registers some input files for this task.
      Parameters:
        `paths` - The input files. The given paths are evaluated as per `Project.files(Object...)`.
      Returns:
        a property builder to further configure the property.

    - #### file

          TaskInputFilePropertyBuilder file​(Object path)

      Registers some input file for this task.
      Parameters:
        `path` - The input file. The given path is evaluated as per `Project.file(Object)`.
      Returns:
        a property builder to further configure the property.

    - #### dir

          TaskInputFilePropertyBuilder dir​(Object dirPath)

      Registers an input directory hierarchy. All files found under the given directory are treated as input files for this task.

      An input directory hierarchy ignores empty directories by default. See `TaskInputFilePropertyBuilder.ignoreEmptyDirectories()`.

      Parameters:
        `dirPath` - The directory. The path is evaluated as per `Project.file(Object)`.
      Returns:
        a property builder to further configure the property.

    - #### getProperties

          Map<String,​Object> getProperties()

      Returns a map of input properties for this task. The returned map is unmodifiable, and does not reflect further changes to the task's properties. Trying to modify the map will result in an `UnsupportedOperationException` being thrown.
      Returns:
        The properties.

    - #### property

          TaskInputPropertyBuilder property​(String name,
                                            @Nullable
                                            Object value)

      Registers an input property for this task. This value is persisted when the task executes, and is compared against the property value for later invocations of the task, to determine if the task is up-to-date.

      The given value must be a simple value, like a String or Integer, or serializable. For complex values, Gradle compares the serialized forms for detecting changes and the `equals()` method is ignored.

      If the value is not known when registering the input, a `Provider` can be passed instead. Gradle will then resolve the provider at the latest possible time in order to determine the actual property value.

      Parameters:
        `name` - The name of the property. Must not be null.
        `value` - The value for the property. Can be null.

    - #### properties

          TaskInputs properties​(Map<String,​?> properties)

      Registers a set of input properties for this task. See `property(String, Object)` for details.

      Note: do not use the return value to chain calls. Instead always use call via `Task.getInputs()`.

      Parameters:
        `properties` - The properties.

    - #### getHasSourceFiles

          boolean getHasSourceFiles()

      Returns true if this task has declared that it accepts source files.
      Returns:
        true if this task has source files, false if not.

    - #### getSourceFiles

          FileCollection getSourceFiles()

      Returns the set of source files for this task. These are the subset of input files which the task actually does work on. A task is skipped if it has declared it accepts source files, and this collection is empty.
      Returns:
        The set of source files for this task.