SourceSet

API 文档SourceSet

SourceSet 代表 Java 源代码和资源文件的逻辑分组。在用户手册中有更详细的介绍。

以下示例展示了如何配置 'main' 源集,在本例中,它涉及到从 'java' SourceDirectorySet 中源代码文件的编译中排除包名以 'some.unwanted.package' 开头的类

plugins {
    id 'java'
}

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

属性

属性描述
allJava

此源集的所有 Java 源代码文件。 例如,这包括直接编译的源代码以及通过联合编译间接编译的源代码。

allSource

此源集的所有源文件。

compileClasspath

用于编译此源代码的类路径。

extensions

扩展的容器。

java

Java 源代码,将由 Java 编译器编译到类输出目录中。

name

此源集的名称。

output

SourceSetOutput 是所有输出目录(编译后的类、处理后的资源等)的FileCollection,它提供了配置默认输出目录和注册其他输出目录的方法。 请参阅 SourceSetOutput 中的示例

resources

要复制到资源输出目录中的非 Java 资源。

runtimeClasspath

用于执行此源代码的类路径。

antlr 插件添加的属性

属性描述
antlr

由 antlr 插件添加的 AntlrSourceDirectorySet

groovy 插件添加的属性

属性描述
groovy

由 groovy 插件添加的 GroovySourceDirectorySet

scala 插件添加的属性

属性描述
scala

由 scala 插件添加的 ScalaSourceDirectorySet

方法

方法描述
compiledBy(taskPaths)

注册一组负责将此源集编译到类目录中的任务。 路径的评估方式与 Task.dependsOn(java.lang.Object[]) 相同。

getCompileTaskName(language)

返回此源集的编译任务的名称。

getTaskName(verb, target)

返回此源集的任务名称。

java(configureAction)

配置此集合的 Java 源代码。

resources(configureAction)

配置此集合的非 Java 资源。

脚本块

描述
java

配置此集合的 Java 源代码。

resources

配置此集合的非 Java 资源。

antlr 插件添加的脚本块

描述
antlr

配置由 antlr 插件添加的 AntlrSourceDirectorySet

groovy 插件添加的脚本块

描述
groovy

配置由 groovy 插件添加的 GroovySourceDirectorySet

scala 插件添加的脚本块

描述
scala

配置由 scala 插件添加的 ScalaSourceDirectorySet

属性详情

SourceDirectorySet allJava (只读)

此源集的所有 Java 源代码文件。 例如,这包括直接编译的源代码以及通过联合编译间接编译的源代码。

默认使用 java 插件
[java]

SourceDirectorySet allSource (只读)

此源集的所有源文件。

默认使用 java 插件
[java, resources]

FileCollection compileClasspath

用于编译此源代码的类路径。

默认使用 java 插件
project.configurations.compileClasspath(或 test 源集的 project.configurations.testCompileClasspath)。

ExtensionContainer extensions (只读)

扩展的容器。

SourceDirectorySet java (只读)

Java 源代码,将由 Java 编译器编译到类输出目录中。

默认使用 java 插件
[${project.projectDir}/src/${sourceSet.name}/java]

String name (只读)

此源集的名称。

SourceSetOutput output (只读)

SourceSetOutput 是所有输出目录(编译后的类、处理后的资源等)的FileCollection,它提供了配置默认输出目录和注册其他输出目录的方法。 请参阅 SourceSetOutput 中的示例

默认使用 java 插件
参见 SourceSetOutput

SourceDirectorySet resources (只读)

要复制到资源输出目录中的非 Java 资源。

默认使用 java 插件
[${project.projectDir}/src/${sourceSet.name}/resources]

FileCollection runtimeClasspath

用于执行此源代码的类路径。

默认使用 java 插件
sourceSet.output + project.configurations.runtimeClasspath(或 test 源集的 sourceSet.output + project.configurations.testRuntimeClasspath)。

由 antlr 插件添加的 AntlrSourceDirectorySet

GroovySourceDirectorySet groovy (只读)

由 groovy 插件添加的 GroovySourceDirectorySet

由 scala 插件添加的 ScalaSourceDirectorySet

方法详情

SourceSet compiledBy(Object... taskPaths)

注册一组负责将此源集编译到类目录中的任务。 路径的评估方式与 Task.dependsOn(java.lang.Object[]) 相同。

String getCompileTaskName(String language)

返回此源集的编译任务的名称。

String getTaskName(String verb, String target)

返回此源集的任务名称。

SourceSet java(Action<? super SourceDirectorySet> configureAction)

配置此集合的 Java 源代码。

给定的 action 用于配置包含 Java 源代码的 SourceDirectorySet

SourceSet resources(Action<? super SourceDirectorySet> configureAction)

配置此集合的非 Java 资源。

给定的 action 用于配置包含资源的 SourceDirectorySet

脚本块详情

java { }

配置此集合的 Java 源代码。

给定的 closure 用于配置包含 Java 源代码的 SourceDirectorySet

委托给
SourceDirectorySet 来自 java

resources { }

配置此集合的非 Java 资源。

给定的 closure 用于配置包含资源的 SourceDirectorySet

antlr { }

配置由 antlr 插件添加的 AntlrSourceDirectorySet

groovy { }

配置由 groovy 插件添加的 GroovySourceDirectorySet

scala { }

配置由 scala 插件添加的 ScalaSourceDirectorySet