Package: org.gradle.api.tasks

## [Java] Interface TaskInputs

- A `TaskInputs` represents the inputs for a task.

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

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `TaskInputs` | `dir(Object dirPath)` Registers an input directory hierarchy.
    `TaskInputs` | `file(Object path)` Registers some input file for this task.
    `TaskInputs` | `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 the set 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.
    `TaskInputs` | `property(String name, Object value)`
    `TaskInputs` | `source(Object... paths)` Registers some source files for this task.
    `TaskInputs` | `source(Object path)` Registers some source files for this task.
    `TaskInputs` | `sourceDir(Object path)` Registers a source directory for this task.

- - ### Method Detail

    - #### public TaskInputs dir(Object dirPath)

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

      Parameters:
        `dirPath` - The directory. The path is evaluated as per Project.file.
      Returns:
        this

    - #### public TaskInputs file(Object path)

      Registers some input file for this task.

      Parameters:
        `path` - The input file. The given path is evaluated as per Project.files.
      Returns:
        this

    - #### public TaskInputs files(Object... paths)

      Registers some input files for this task.

      Parameters:
        `paths` - The input files. The given paths are evaluated as per Project.files.
      Returns:
        this

    - #### public FileCollection getFiles()

      Returns the input files of this task.

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

    - #### public boolean getHasInputs()

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

      Returns:
        true if this task has declared any inputs.

    - #### public 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.

    - #### public Map<String, Object> getProperties()

      Returns the set of input properties for this task.

      Returns:
        The properties.

    - #### public 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.

    - #### public TaskInputs properties(Map<String, ?> properties)

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

      Parameters:
        `properties` - The properties.

    - #### public TaskInputs property(String name, 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 for the property must be Serializable, so that it can be persisted. It should also provide a useful `equals()` method.

      You can specify a closure or `Callable` as the value of the property. In which case, the closure or `Callable` is executed 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.

    - #### public TaskInputs source(Object... paths)

      Registers some source files for this task. Note that source files are also considered input files, so calling this method implies a call to files(Object...).

      Parameters:
        `paths` - The paths. These are evaluated as per Project.files.
      Returns:
        this

    - #### public TaskInputs source(Object path)

      Registers some source files for this task. Note that source files are also considered input files, so calling this method implies a call to files(Object...).

      Parameters:
        `path` - The path. This is evaluated as per Project.files.
      Returns:
        this

    - #### public TaskInputs sourceDir(Object path)

      Registers a source directory for this task. All files under this directory are treated as source files for this task. Note that source files are also considered input files, so calling this method implies a call to dir(Object).

      Parameters:
        `path` - The path. This is evaluated as per Project.file.
      Returns:
        this