Package org.gradle.api.file

## Interface ConfigurableFileTree

- All Superinterfaces:
    `AntBuilderAware`, `Buildable`, `DirectoryTree`, `FileCollection`, `FileTree`, `Iterable<File>`, `PatternFilterable`

      public interface ConfigurableFileTree
      extends FileTree, DirectoryTree, PatternFilterable, Buildable

  A `FileTree` with a single base directory, which can be configured and modified.

  You can obtain a `ConfigurableFileTree` instance by calling `Project.fileTree(java.util.Map)`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.file.FileCollection

      `FileCollection.AntType`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ConfigurableFileTree` | `builtBy​(Object... tasks)` | Registers some tasks which build the files of this collection.
    `ConfigurableFileTree` | `from​(Object dir)` | Specifies base directory for this file tree using the given path.
    `Set<Object>` | `getBuiltBy()` | Returns the set of tasks which build the files of this collection.
    `File` | `getDir()` | Returns the base directory of this file tree.
    `ConfigurableFileTree` | `setBuiltBy​(Iterable<?> tasks)` | Sets the tasks which build the files of this collection.
    `ConfigurableFileTree` | `setDir​(Object dir)` | Specifies base directory for this file tree using the given path.

    - ### Methods inherited from interface org.gradle.api.Buildable

      `getBuildDependencies`

    - ### Methods inherited from interface org.gradle.api.file.DirectoryTree

      `getPatterns`

    - ### Methods inherited from interface org.gradle.api.file.FileCollection

      `addToAntBuilder, addToAntBuilder, contains, filter, filter, getAsPath, getElements, getSingleFile, isEmpty, minus, plus`

    - ### Methods inherited from interface org.gradle.api.file.FileTree

      `getAsFileTree, getFiles, matching, matching, matching, plus, visit, visit, visit`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, iterator, spliterator`

    - ### Methods inherited from interface org.gradle.api.tasks.util.PatternFilterable

      `exclude, exclude, exclude, exclude, getExcludes, getIncludes, include, include, include, include, setExcludes, setIncludes`

- - ### Method Detail

    - #### from

          ConfigurableFileTree from​(Object dir)

      Specifies base directory for this file tree using the given path. The path is evaluated as per `Project.file(Object)`.
      Parameters:
        `dir` - The base directory.
      Returns:
        this

    - #### getDir

          File getDir()

      Returns the base directory of this file tree.
      Specified by:
        `getDir` in interface `DirectoryTree`
      Returns:
        The base directory. Never returns null.

    - #### setDir

          ConfigurableFileTree setDir​(Object dir)

      Specifies base directory for this file tree using the given path. The path is evaluated as per `Project.file(Object)`.
      Parameters:
        `dir` - The base directory.
      Returns:
        this

    - #### getBuiltBy

          Set<Object> getBuiltBy()

      Returns the set of tasks which build the files of this collection.
      Returns:
        The set. Returns an empty set when there are no such tasks.

    - #### setBuiltBy

          ConfigurableFileTree setBuiltBy​(Iterable<?> tasks)

      Sets the tasks which build the files of this collection.
      Parameters:
        `tasks` - The tasks. These are evaluated as per `Task.dependsOn(Object...)`.
      Returns:
        this

    - #### builtBy

          ConfigurableFileTree builtBy​(Object... tasks)

      Registers some tasks which build the files of this collection.
      Parameters:
        `tasks` - The tasks. These are evaluated as per `Task.dependsOn(Object...)`.
      Returns:
        this