org.gradle.api.tasks

## Interface TaskOutputs

-     public interface TaskOutputs

  A `TaskOutputs` represents the outputs of a task.

  You can obtain a `TaskOutputs` instance using `Task.getOutputs()`.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TaskOutputs` | `dir(Object path)` Registers an output directory for this task.
    `TaskOutputs` | `file(Object path)` Registers some output file for this task.
    `TaskOutputs` | `files(Object... paths)` Registers some output files for this task.
    `FileCollection` | `getFiles()` Returns the output files of this task.
    `boolean` | `getHasOutput()` Returns true if this task has declared any outputs.
    `void` | `upToDateWhen(Closure upToDateClosure)` Adds a predicate to determine whether the outputs of this task are up-to-date.
    `void` | `upToDateWhen(Spec<? super Task> upToDateSpec)` Adds a predicate to determine whether the outputs of this task are up-to-date.

- - ### Method Detail

    - #### upToDateWhen

          void upToDateWhen(Closure upToDateClosure)

      Adds a predicate to determine whether the outputs of this task are up-to-date. The given closure is executed at task execution time. The closure is passed the task as a parameter. If the closure returns false, the task outputs are considered out-of-date and the task will be executed.

      You can add multiple such predicates. The task outputs are considered out-of-date when any predicate returns false.

      Parameters:
        `upToDateClosure` - The closure to use to determine whether the task outputs are up-to-date.

    - #### upToDateWhen

          void upToDateWhen(Spec<? super Task> upToDateSpec)

      Adds a predicate to determine whether the outputs of this task are up-to-date. The given spec is evaluated at task execution time. If the spec returns false, the task outputs are considered out-of-date and the task will be executed.

      You can add multiple such predicates. The task outputs are considered out-of-date when any predicate returns false.

      Parameters:
        `upToDateSpec` - The spec to use to determine whether the task outputs are up-to-date.

    - #### getHasOutput

          boolean getHasOutput()

      Returns true if this task has declared any outputs. Note that a task may be able to produce output files and still have an empty set of output files.
      Returns:
        true if this task has declared any outputs, otherwise false.

    - #### getFiles

          FileCollection getFiles()

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

    - #### files

          TaskOutputs files(Object... paths)

      Registers some output files for this task.
      Parameters:
        `paths` - The output files. The given paths are evaluated as per `Project.files(Object...)`.
      Returns:
        this

    - #### file

          TaskOutputs file(Object path)

      Registers some output file for this task.
      Parameters:
        `path` - The output file. The given path is evaluated as per `Project.file(Object)`.
      Returns:
        this

    - #### dir

          TaskOutputs dir(Object path)

      Registers an output directory for this task.
      Parameters:
        `path` - The output directory. The given path is evaluated as per `Project.file(Object)`.
      Returns:
        this