org.gradle.api.tasks
Interface SourceSet


public interface SourceSet

A SourceSet represents a logical group of Java source and resources.

See the example below how SourceSet 'main' is accessed and how the SourceDirectorySet 'java' is configured to exclude some package from compilation.

 apply plugin: 'java'

 sourceSets {
   main {
     java {
       exclude 'some/unwanted/package/**'
     }
   }
 }
 


Field Summary
static String MAIN_SOURCE_SET_NAME
          The name of the main source set.
static String TEST_SOURCE_SET_NAME
          The name of the test source set.
 
Method Summary
 SourceSet compiledBy(Object... taskPaths)
          Registers a set of tasks which are responsible for compiling this source set into the classes directory.
 SourceDirectorySet getAllJava()
          All Java source files for this source set.
 SourceDirectorySet getAllSource()
          All source files for this source set.
 SourceSetOutput getClasses()
          Deprecated. 
 File getClassesDir()
          Deprecated. 
 String getClassesTaskName()
          Returns the name of the classes task for this source set.
 FileCollection getCompileClasspath()
          Returns the classpath used to compile this source.
 String getCompileJavaTaskName()
          Returns the name of the compile Java task for this source set.
 String getCompileTaskName(String language)
          Returns the name of a compile task for this source set.
 SourceDirectorySet getJava()
          Returns the Java source which is to be compiled by the Java compiler into the class output directory.
 String getName()
          Returns the name of this source set.
 SourceSetOutput getOutput()
          SourceSetOutput is a FileCollection of all output directories (compiled classes, processed resources, etc.) and it provides means configure the default output dirs and register additional output dirs.
 String getProcessResourcesTaskName()
          Returns the name of the resource process task for this source set.
 SourceDirectorySet getResources()
          Returns the non-Java resources which are to be copied into the class output directory.
 FileCollection getRuntimeClasspath()
          Returns the classpath used to execute this source.
 String getTaskName(String verb, String target)
          Returns the name of a task for this source set.
 SourceSet java(Closure configureClosure)
          Configures the Java source for this set.
 SourceSet resources(Closure configureClosure)
          Configures the non-Java resources for this set.
 void setClassesDir(File classesDir)
          Deprecated. 
 void setCompileClasspath(FileCollection classpath)
          Sets the classpath used to compile this source.
 void setRuntimeClasspath(FileCollection classpath)
          Sets the classpath used to execute this source.
 

Field Detail

MAIN_SOURCE_SET_NAME

static final String MAIN_SOURCE_SET_NAME
The name of the main source set.

See Also:
Constant Field Values

TEST_SOURCE_SET_NAME

static final String TEST_SOURCE_SET_NAME
The name of the test source set.

See Also:
Constant Field Values
Method Detail

getName

String getName()
Returns the name of this source set.

Returns:
The name. Never returns null.

getCompileClasspath

FileCollection getCompileClasspath()
Returns the classpath used to compile this source.

Returns:
The classpath. Never returns null.

setCompileClasspath

void setCompileClasspath(FileCollection classpath)
Sets the classpath used to compile this source.

Parameters:
classpath - The classpath. Should not be null.

getRuntimeClasspath

FileCollection getRuntimeClasspath()
Returns the classpath used to execute this source.

Returns:
The classpath. Never returns null.

setRuntimeClasspath

void setRuntimeClasspath(FileCollection classpath)
Sets the classpath used to execute this source.

Parameters:
classpath - The classpath. Should not be null.

getClassesDir

@Deprecated
File getClassesDir()
Deprecated. 

DEPRECATED: Please use #output.classesDir instead. We needed to deprecate it to keep the DSL consistent.

Returns the directory to assemble the compiled classes into.

Returns:
The classes dir. Never returns null.

setClassesDir

@Deprecated
void setClassesDir(File classesDir)
Deprecated. 

DEPRECATED: Please use #output.resourcesDir instead. We needed to deprecate it to keep the DSL consistent.

Sets the directory to assemble the compiled classes into.

Parameters:
classesDir - the classes dir. Should not be null.

getClasses

@Deprecated
SourceSetOutput getClasses()
Deprecated. 

DEPRECATED: Please use #output property. We needed to deprecate this method because its name was confusing as actually means all output dirs, not only classes dir.

Returns SourceSetOutput that extends FileCollection which means that it provides all output directories (compiled classes, processed resources, etc.)

Provides a way to configure the default output dirs and specify additional output dirs - see SourceSetOutput

Returns:
The output dirs, as a SourceSetOutput.

getOutput

SourceSetOutput getOutput()
SourceSetOutput is a FileCollection of all output directories (compiled classes, processed resources, etc.) and it provides means configure the default output dirs and register additional output dirs. See examples in SourceSetOutput

Returns:
The output dirs, as a SourceSetOutput.

compiledBy

SourceSet compiledBy(Object... taskPaths)
Registers a set of tasks which are responsible for compiling this source set into the classes directory. The paths are evaluated as for Task.dependsOn(Object...).

Parameters:
taskPaths - The tasks which compile this source set.
Returns:
this

getResources

SourceDirectorySet getResources()
Returns the non-Java resources which are to be copied into the class output directory.

Returns:
the resources. Never returns null.

resources

SourceSet resources(Closure configureClosure)
Configures the non-Java resources for this set.

The given closure is used to configure the SourceDirectorySet which contains the resources.

Parameters:
configureClosure - The closure to use to configure the resources.
Returns:
this

getJava

SourceDirectorySet getJava()
Returns the Java source which is to be compiled by the Java compiler into the class output directory.

Returns:
the Java source. Never returns null.

java

SourceSet java(Closure configureClosure)
Configures the Java source for this set.

The given closure is used to configure the SourceDirectorySet which contains the Java source.

Parameters:
configureClosure - The closure to use to configure the Java source.
Returns:
this

getAllJava

SourceDirectorySet getAllJava()
All Java source files for this source set. This includes, for example, source which is directly compiled, and source which is indirectly compiled through joint compilation.

Returns:
the Java source. Never returns null.

getAllSource

SourceDirectorySet getAllSource()
All source files for this source set.

Returns:
the source. Never returns null.

getClassesTaskName

String getClassesTaskName()
Returns the name of the classes task for this source set.

Returns:
The task name. Never returns null.

getProcessResourcesTaskName

String getProcessResourcesTaskName()
Returns the name of the resource process task for this source set.

Returns:
The task name. Never returns null.

getCompileJavaTaskName

String getCompileJavaTaskName()
Returns the name of the compile Java task for this source set.

Returns:
The task name. Never returns null.

getCompileTaskName

String getCompileTaskName(String language)
Returns the name of a compile task for this source set.

Parameters:
language - The language to be compiled.
Returns:
The task name. Never returns null.

getTaskName

String getTaskName(String verb,
                   String target)
Returns the name of a task for this source set.

Parameters:
verb - The action, may be null.
target - The target, may be null
Returns:
The task name, generally of the form ${verb}${name}${noun}