SourceDirectorySet

SourceDirectorySet 代表一組來源檔案的集合,這些檔案由一組來源目錄以及相關聯的包含和排除模式組成。

SourceDirectorySet 擴展了 FileTree。檔案樹的內容代表此集合的來源檔案,以階層結構排列。檔案樹是動態的,並反映來源目錄及其內容的變更。

您可以使用 ObjectFactory.sourceDirectorySet(java.lang.String, java.lang.String) 方法建立 SourceDirectorySet 的實例。

您可以使用模式透過 <UNHANDLED-LINK>#include(Spec)</UNHANDLED-LINK><UNHANDLED-LINK>#include(Spec)</UNHANDLED-LINK> (或這些方法的任何重載)來篩選此集合中可取得的檔案。包含的來源目錄集合本身未經篩選

屬性

屬性描述
classesDirectory

目錄屬性,透過 SourceDirectorySet.compiledBy(org.gradle.api.tasks.TaskProvider, java.util.function.Function) 綁定到產生輸出的 Task。將其用作類別路徑或另一個 Task 的輸入的一部分,以確保在使用輸出之前先建立輸出。注意:若要定義輸出資料夾的路徑,請使用 SourceDirectorySet.getDestinationDirectory()

destinationDirectory

設定要將編譯後的類別組裝到其中的目錄。

filter

用於從來源目錄中選取來源的篩選器。這些篩選器模式在此來源目錄集合的包含和排除模式之後套用。通常,篩選器模式用於將內容限制為特定類型的檔案,例如 *.java

srcDirs

構成此集合的來源目錄。

方法

方法描述
compiledBy(taskProvider, mapping)

定義負責處理來源的 Task。

source(source)

將給定的來源新增至此集合。

srcDir(srcPath)

將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。

srcDirs(srcPaths)

將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。

腳本區塊

沒有腳本區塊

屬性詳細資訊

Provider<Directory> classesDirectory

目錄屬性,透過 SourceDirectorySet.compiledBy(org.gradle.api.tasks.TaskProvider, java.util.function.Function) 綁定到產生輸出的 Task。將其用作類別路徑或另一個 Task 的輸入的一部分,以確保在使用輸出之前先建立輸出。注意:若要定義輸出資料夾的路徑,請使用 SourceDirectorySet.getDestinationDirectory()

預設值與 java-base 外掛程式
${project.layout.buildDirectory}/classes/${sourceDirectorySet.name}/${sourceSet.name}

DirectoryProperty destinationDirectory

設定要將編譯後的類別組裝到其中的目錄。

預設值與 java-base 外掛程式
${project.layout.buildDirectory}/classes/${sourceDirectorySet.name}/${sourceSet.name}

PatternFilterable filter (唯讀)

用於從來源目錄中選取來源的篩選器。這些篩選器模式在此來源目錄集合的包含和排除模式之後套用。通常,篩選器模式用於將內容限制為特定類型的檔案,例如 *.java

Set<File> srcDirs

構成此集合的來源目錄。

請注意,使用 <UNHANDLED-LINK>#exclude(Spec)</UNHANDLED-LINK><UNHANDLED-LINK>#include(Spec)</UNHANDLED-LINK> (或這些方法的任何重載)透過模式進行篩選僅篩選 DirectoryTrees 從此方法傳回的 檔案,並且不會篩選來源目錄樹集合本身。此結果應與 SourceDirectorySet.getSrcDirTrees() 一致。

不篩選不存在的來源目錄。

預設值與 java-base 外掛程式
src/${sourceSet.name}/${sourceDirectorySet.name}

方法詳細資訊

void compiledBy(TaskProvider<T> taskProvider, Function<T, DirectoryProperty> mapping)

定義負責處理來源的 Task。

將給定的來源新增至此集合。

SourceDirectorySet srcDir(Object srcPath)

將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。

SourceDirectorySet srcDirs(Object... srcPaths)

將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。