Interface SourceSetOutput
-
- All Superinterfaces:
AntBuilderAware
,Buildable
,FileCollection
,java.lang.Iterable<java.io.File>
public interface SourceSetOutput extends FileCollection
A collection of all output directories (compiled classes, processed resources, etc.) - notice thatSourceSetOutput
extendsFileCollection
.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 indir(Object)
andgetDirs()
-
-
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 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 resourcesvoid
setResourcesDir(java.io.File resourcesDir)
Sets the output directory for resourcesvoid
setResourcesDir(java.lang.Object resourcesDir)
Sets the output directory for resources-
Methods inherited from interface org.gradle.api.Buildable
getBuildDependencies
-
Methods inherited from interface org.gradle.api.file.FileCollection
addToAntBuilder, addToAntBuilder, contains, filter, filter, getAsFileTree, getAsPath, getElements, getFiles, getSingleFile, isEmpty, minus, plus
-
-
-
-
Method Detail
-
getClassesDirs
FileCollection getClassesDirs()
Returns the directories containing compiled classes.- Returns:
- The classes directories. This value may safely be cast to a
ConfigurableFileCollection
. - Since:
- 4.0
-
getResourcesDir
@Nullable java.io.File getResourcesDir()
Returns the output directory for resourcesSee example at
SourceSetOutput
- Returns:
- The dir resources are copied to.
-
setResourcesDir
void setResourcesDir(java.io.File resourcesDir)
Sets the output directory for resourcesSee example at
SourceSetOutput
- Parameters:
resourcesDir
- the resources dir. Should not be null.- Since:
- 4.0
-
setResourcesDir
void setResourcesDir(java.lang.Object resourcesDir)
Sets the output directory for resourcesSee example at
SourceSetOutput
- Parameters:
resourcesDir
- the resources dir. Should not be null.
-
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. Useful for generated resources.See example at
SourceSetOutput
- Parameters:
options
- - use 'builtBy' key to configure the 'builtBy' task of the dirdir
- - will be resolved asProject.file(Object)
-
dir
void dir(java.lang.Object dir)
Registers an extra output dir. Useful for generated resources.See example at
SourceSetOutput
- Parameters:
dir
- - will be resolved asProject.file(Object)
-
getDirs
FileCollection getDirs()
Returns all dirs registered with #dir method. Each file is resolved asProject.file(Object)
See example at
SourceSetOutput
- Returns:
- a new instance of registered dirs with resolved files
-
getGeneratedSourcesDirs
FileCollection getGeneratedSourcesDirs()
Returns the directories containing generated source files (e.g. by annotation processors during compilation).- Returns:
- The generated sources directories. Never returns null.
- Since:
- 5.2
-
-