SourceDirectorySet

API Documentation:SourceDirectorySet

A SourceDirectorySet represents a set of source files composed from a set of source directories, along with associated include and exclude patterns.

SourceDirectorySet extends FileTree. The contents of the file tree represent the source files of this set, arranged in a hierarchy. The file tree is live and reflects changes to the source directories and their contents.

You can create an instance of SourceDirectorySet using the ObjectFactory.sourceDirectorySet(java.lang.String, java.lang.String) method.

Properties

PropertyDescription
classesDirectory

The directory property that is bound to the task that produces the output via SourceDirectorySet.compiledBy(org.gradle.api.tasks.TaskProvider, java.util.function.Function). Use this as part of a classpath or input to another task to ensure that the output is created before it is used. Note: To define the path of the output folder use SourceDirectorySet.getDestinationDirectory()

destinationDirectory

Configure the directory to assemble the compiled classes into.

filter

The filter used to select the source from the source directories. These filter patterns are applied after the include and exclude patterns of this source directory set. Generally, the filter patterns are used to restrict the contents to certain types of files, eg *.java.

outputDir
Replaced

The directory to put the output for these sources.

srcDirs

The source directories that make up this set. Does not filter source directories that do not exist.

Methods

MethodDescription
compiledBy(taskProvider, mapping)

Define the task responsible for processing the source.

source(source)

Adds the given source to this set.

srcDir(srcPath)

Adds the given source directory to this set. The given directory does not need to exist. Directories that do not exist are ignored.

srcDirs(srcPaths)

Adds the given source directories to this set. The given directories do not need to exist. Directories that do not exist are ignored.

Script blocks

No script blocks

Property details

Provider<Directory> classesDirectory

The directory property that is bound to the task that produces the output via SourceDirectorySet.compiledBy(org.gradle.api.tasks.TaskProvider, java.util.function.Function). Use this as part of a classpath or input to another task to ensure that the output is created before it is used. Note: To define the path of the output folder use SourceDirectorySet.getDestinationDirectory()

Default with java-base plugin:
${project.buildDir}/classes/${sourceDirectorySet.name}/${sourceSet.name}

DirectoryProperty destinationDirectory

Configure the directory to assemble the compiled classes into.

Default with java-base plugin:
${project.buildDir}/classes/${sourceDirectorySet.name}/${sourceSet.name}

PatternFilterable filter (read-only)

The filter used to select the source from the source directories. These filter patterns are applied after the include and exclude patterns of this source directory set. Generally, the filter patterns are used to restrict the contents to certain types of files, eg *.java.

File outputDir

Note: This property has been replaced by classesDirectory.

The directory to put the output for these sources.

Default with java-base plugin:
${project.buildDir}/classes/${sourceDirectorySet.name}/${sourceSet.name}

Set<File> srcDirs

The source directories that make up this set. Does not filter source directories that do not exist.

Default with java-base plugin:
src/${sourceSet.name}/${sourceDirectorySet.name}

Method details

void compiledBy(TaskProvider<T> taskProvider, Function<T, DirectoryProperty> mapping)

Define the task responsible for processing the source.

Adds the given source to this set.

SourceDirectorySet srcDir(Object srcPath)

Adds the given source directory to this set. The given directory does not need to exist. Directories that do not exist are ignored.

SourceDirectorySet srcDirs(Object... srcPaths)

Adds the given source directories to this set. The given directories do not need to exist. Directories that do not exist are ignored.