API文档: | SourceSetOutput |
---|
所有输出目录(编译的类、处理的资源等)的集合 - 请注意SourceSetOutput
extends FileCollection
.
提供源集的输出信息。允许配置默认输出目录并指定其他输出目录。
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')) } }
使用生成的资源。
一般来说,我们建议将资源生成到不同于常规 resourcesDir 和classesDirs 的文件夹中。通常,它使构建更容易理解和维护。它还提供了一些额外的好处,因为其他 Gradle 插件可以利用 SourceSet.output 中“注册”的输出目录。例如:Java 插件将使用这些目录来计算类路径并扰乱内容; IDEA 和 Eclipse 插件会将这些文件夹放在相关的类路径上。
如何使用生成的资源的示例:
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!" } }
SourceSetOutput.dir(java.lang.Object)
在和
中查找更多信息SourceSetOutput.getDirs()
财产 | 描述 |
classesDirs | 包含已编译类的目录。 |
resourcesDir | 资源的输出目录 |
方法 | 描述 |
dir(dir) | 注册一个额外的输出目录。对于生成的资源很有用。 |
dir(options, dir) | 注册额外的输出目录和builtBy信息。对于生成的资源很有用。 |
getDirs() | 返回使用 #dir 方法注册的所有目录。每个文件被解析为 |
FileCollection
classesDirs
(只读)
包含已编译类的目录。
- 默认使用
java
插件: - 每个的文件集合
${project.layout.buildDirectory}
/classes/${sourceDirectorySet.name}
/${sourceSet.name}
File
resourcesDir
资源的输出目录
请参阅示例SourceSetOutput
- 默认使用
java
插件: ${project.layout.buildDirectory}
/classes/${sourceSet.name}
FileCollection
getDirs
()
返回使用 #dir 方法注册的所有目录。每个文件被解析为Project.file(java.lang.Object)
请参阅示例SourceSetOutput