|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD |
org.gradle.api.tasks.AntBuilderAware org.gradle.api.file.FileCollection org.gradle.api.tasks.SourceSetOutput org.gradle.api.Buildable
public interface SourceSetOutput extends FileCollection
A collection of all output directories (compiled classes, processed resources, etc.) - notice that SourceSetOutput extends FileCollection.
Provides output information of the source set. Allows configuring the default output dirs and specify additional output dirs.
apply plugin: 'java' sourceSets { main { //if you truly want to override the defaults: output.resourcesDir = 'out/res' output.classesDir = 'out/bin' } }Working with generated resources.
In general, we recommend generating resources into folders different than the regular resourcesDir and classesDir. Usually, it makes the build easier to understand and maintain. Also it gives some additional benefits because other Gradle plugins can take advantage of the output dirs 'registered' in the SourceSet.output. For example: Java plugin will use those dirs in calculating class paths and for jarring the content; IDEA and Eclipse plugins will put those folders on relevant classpath.
An example how to work with generated resources:
apply plugin: 'java' def generatedResources = "$buildDir/generated-resources/main" sourceSets { main { //let's register an output folder on the main SourceSet: output.dir(generatedResources, builtBy: 'generateMyResources') //it is now a part of the 'main' classpath and will be a part of the jar } } //a task that generates the resources: task generateMyResources { doLast { def generated = new File(generatedResources, "myGeneratedResource.properties") generated.text = "message=Stay happy!" } } //Java plugin task 'classes' and 'testClasses' will automatically depend on relevant tasks registered with 'builtBy' //Eclipse/IDEA plugins will automatically depend on 'generateMyResources' //because the output dir was registered with 'builtBy' information apply plugin: 'idea'; apply plugin: 'eclipse'Find more information in dir(java.util.Map, Object) and getDirs()
Method Summary | |
---|---|
void
|
dir(Map options, Object dir)
Registers an extra output dir and the builtBy information. |
void
|
dir(Object dir)
Registers an extra output dir. |
File
|
getClassesDir()
Returns the directory to assemble the compiled classes into. |
FileCollection
|
getDirs()
Returns all dirs registered with with #dir method. |
File
|
getResourcesDir()
Returns the output directory for resources |
void
|
setClassesDir(Object classesDir)
Sets the directory to assemble the compiled classes into. |
void
|
setResourcesDir(Object resourcesDir)
Sets the output directory for resources |
Methods inherited from interface FileCollection | |
---|---|
add, addToAntBuilder, addToAntBuilder, asType, contains, filter, filter, getAsFileTree, getAsPath, getFiles, getSingleFile, isEmpty, minus, plus, stopExecutionIfEmpty |
Methods inherited from interface AntBuilderAware | |
---|---|
addToAntBuilder |
Methods inherited from interface Iterable | |
---|---|
iterator |
Methods inherited from interface Buildable | |
---|---|
getBuildDependencies |
Method Detail |
---|
public void dir(Map options, Object dir)
See example at SourceSetOutput
options
- - use 'builtBy' key to configure the 'builtBy' task of the dirdir
- - will be resolved as Project.file
public void dir(Object dir)
See example at SourceSetOutput
dir
- - will be resolved as Project.file
public File getClassesDir()
See example at SourceSetOutput
public FileCollection getDirs()
See example at SourceSetOutput
public File getResourcesDir()
See example at SourceSetOutput
public void setClassesDir(Object classesDir)
See example at SourceSetOutput
classesDir
- the classes dir. Should not be null.
public void setResourcesDir(Object resourcesDir)
See example at SourceSetOutput
resourcesDir
- the classes dir. Should not be null.
Gradle API 1.12