SourceSet

API 文档SourceSet

一个 SourceSet 表示一组逻辑上的 Java 源文件和资源文件。在用户手册中有更详细的介绍。

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

plugins {
    id 'java'
}

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

属性

属性描述
allJava

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

allSource

此 SourceSet 的所有源文件。

compileClasspath

用于编译此源文件的类路径。

extensions

扩展容器。

java

由 Java 编译器编译到类输出目录中的 Java 源文件。

name

此 SourceSet 的名称。

output

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

resources

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

runtimeClasspath

用于执行此源文件的类路径。

antlr 插件添加的属性

属性描述
antlr

由 antlr 插件添加的 AntlrSourceDirectorySet

groovy 插件添加的属性

属性描述
groovy

由 groovy 插件添加的 GroovySourceDirectorySet

scala 插件添加的属性

属性描述
scala

由 scala 插件添加的 ScalaSourceDirectorySet

方法

方法描述
compiledBy(taskPaths)

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

getCompileTaskName(language)

返回此 SourceSet 的编译任务名称。

getTaskName(verb, target)

返回此 SourceSet 的任务名称。

java(Action<? super SourceDirectorySet> configureAction)

给定的 action 用于配置包含 Java 源文件的 SourceDirectorySet

resources(Action<? super SourceDirectorySet> configureAction)

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

脚本块

描述
java

给定的 action 用于配置包含 Java 源文件的 SourceDirectorySet

resources

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

antlr 插件添加的脚本块

描述
antlr

配置由 antlr 插件添加的 AntlrSourceDirectorySet

groovy 插件添加的脚本块

描述
groovy

配置由 groovy 插件添加的 GroovySourceDirectorySet

scala 插件添加的脚本块

描述
scala

配置由 scala 插件添加的 ScalaSourceDirectorySet

属性详情

SourceDirectorySet allJava (只读)

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

java 插件的默认值
[java]

SourceDirectorySet allSource (只读)

此 SourceSet 的所有源文件。

java 插件的默认值
[java, resources]

FileCollection compileClasspath

用于编译此源文件的类路径。

java 插件的默认值
project.configurations.compileClasspath (对于 test SourceSet 则是 project.configurations.testCompileClasspath)。

ExtensionContainer extensions (只读)

扩展容器。

SourceDirectorySet java (只读)

由 Java 编译器编译到类输出目录中的 Java 源文件。

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

String name (只读)

此 SourceSet 的名称。

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 则是 sourceSet.output + project.configurations.testRuntimeClasspath)。

由 antlr 插件添加的 AntlrSourceDirectorySet

GroovySourceDirectorySet groovy (只读)

由 groovy 插件添加的 GroovySourceDirectorySet

由 scala 插件添加的 ScalaSourceDirectorySet

方法详情

SourceSet compiledBy(Object... taskPaths)

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

String getCompileTaskName(String language)

返回此 SourceSet 的编译任务名称。

String getTaskName(String verb, String target)

返回此 SourceSet 的任务名称。

SourceSet java(Action<? super SourceDirectorySet> configureAction)

给定的 action 用于配置包含 Java 源文件的 SourceDirectorySet

给定的 action 用于配置包含 Java 源文件的 SourceDirectorySet

SourceSet resources(Action<? super SourceDirectorySet> configureAction)

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

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

脚本块详情

java { }

给定的 action 用于配置包含 Java 源文件的 SourceDirectorySet

给定的 closure 用于配置包含 Java 源文件的 SourceDirectorySet

委托给
SourceDirectorySet 来自 java

resources { }

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

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

antlr { }

配置由 antlr 插件添加的 AntlrSourceDirectorySet

groovy { }

配置由 groovy 插件添加的 GroovySourceDirectorySet

scala { }

配置由 scala 插件添加的 ScalaSourceDirectorySet