AntBuilderAware
, Buildable
, FileCollection
, java.lang.Iterable<java.io.File>
public interface SourceSetOutput extends FileCollection
SourceSetOutput
extends FileCollection
.
Provides output information of the source set. Allows configuring the default output dirs and specify additional output dirs.
plugins { id 'java' } sourceSets { main { //if you truly want to override the defaults: output.resourcesDir = file('out/bin') // Compiled Java classes should use this directory java.destinationDirectory.set(file('out/bin')) } }Working with generated resources.
In general, we recommend generating resources into folders different than the regular resourcesDir and classesDirs. 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:
plugins { id 'java' } def generateResourcesTask = tasks.register("generate-resources", GenerateResourcesTask) { resourcesDir.set(layout.buildDirectory.dir("generated-resources/main")) } // Include all outputs of the `generate-resources` task as outputs of the main sourceSet. sourceSets { main { output.dir(generateResourcesTask) } } abstract class GenerateResourcesTask extends DefaultTask { @OutputDirectory abstract DirectoryProperty getResourcesDir() @TaskAction def generateResources() { def generated = resourcesDir.file("myGeneratedResource.properties").get().asFile generated.text = "message=Stay happy!" } }Find more information in
dir(Object)
and getDirs()
FileCollection.AntType
Modifier and Type | Method | Description |
---|---|---|
void |
dir(java.lang.Object dir) |
Registers an extra output dir.
|
void |
dir(java.util.Map<java.lang.String,java.lang.Object> options,
java.lang.Object dir) |
Registers an extra output dir and the builtBy information.
|
FileCollection |
getClassesDirs() |
Returns the directories containing compiled classes.
|
FileCollection |
getDirs() |
Returns all dirs registered with #dir method.
|
FileCollection |
getGeneratedSourcesDirs() |
Returns the directories containing generated source files (e.g.
|
java.io.File |
getResourcesDir() |
Returns the output directory for resources
|
void |
setResourcesDir(java.io.File resourcesDir) |
Sets the output directory for resources
|
void |
setResourcesDir(java.lang.Object resourcesDir) |
Sets the output directory for resources
|
getBuildDependencies
addToAntBuilder, addToAntBuilder, contains, filter, filter, getAsFileTree, getAsPath, getElements, getFiles, getSingleFile, isEmpty, minus, plus
FileCollection getClassesDirs()
@Nullable java.io.File getResourcesDir()
See example at SourceSetOutput
void setResourcesDir(java.io.File resourcesDir)
See example at SourceSetOutput
resourcesDir
- the resources dir. Should not be null.void setResourcesDir(java.lang.Object resourcesDir)
See example at SourceSetOutput
resourcesDir
- the resources dir. Should not be null.void dir(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object dir)
See example at SourceSetOutput
options
- - use 'builtBy' key to configure the 'builtBy' task of the dirdir
- - will be resolved as Project.file(Object)
void dir(java.lang.Object dir)
See example at SourceSetOutput
dir
- - will be resolved as Project.file(Object)
FileCollection getDirs()
Project.file(Object)
See example at SourceSetOutput
FileCollection getGeneratedSourcesDirs()