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。路徑會根據 Task.dependsOn(java.lang.Object[]) 進行評估。

getCompileTaskName(language)

傳回此來源集的編譯 Task 名稱。

getTaskName(verb, target)

傳回此來源集的 Task 名稱。

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。路徑會根據 Task.dependsOn(java.lang.Object[]) 進行評估。

String getCompileTaskName(String language)

傳回此來源集的編譯 Task 名稱。

String getTaskName(String verb, String target)

傳回此來源集的 Task 名稱。

SourceSet java(Action<? super SourceDirectorySet> configureAction)

設定此集合的 Java 原始碼。

給定的 action 用於設定包含 Java 原始碼的 SourceDirectorySet

SourceSet resources(Action<? super SourceDirectorySet> configureAction)

設定此集合的非 Java 資源。

給定的 action 用於設定包含資源的 SourceDirectorySet

腳本區塊詳細資訊

java { }

設定此集合的 Java 原始碼。

給定的 closure 用於設定包含 Java 原始碼的 SourceDirectorySet

委派至
來自 javaSourceDirectorySet

resources { }

設定此集合的非 Java 資源。

給定的 closure 用於設定包含資源的 SourceDirectorySet

antlr { }

設定由 antlr 外掛新增的 AntlrSourceDirectorySet

委派至
來自 antlrAntlrSourceDirectorySet

groovy { }

設定由 groovy 外掛新增的 GroovySourceDirectorySet

委派至
來自 groovyGroovySourceDirectorySet

scala { }

設定由 scala 外掛新增的 ScalaSourceDirectorySet

委派至
來自 scalaScalaSourceDirectorySet