API 文件 | 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 | 目錄屬性,透過 |
destinationDirectory | 設定要將編譯後的類別組裝到其中的目錄。 |
filter | 用於從來源目錄中選取來源的篩選器。這些篩選器模式在此來源目錄集合的包含和排除模式之後套用。通常,篩選器模式用於將內容限制為特定類型的檔案,例如 |
srcDirs | 構成此集合的來源目錄。 |
方法 | 描述 |
compiledBy(taskProvider, mapping) | 定義負責處理來源的 Task。 |
source(source) | 將給定的來源新增至此集合。 |
srcDir(srcPath) | 將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。 |
srcDirs(srcPaths) | 將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。 |
目錄屬性,透過 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
。
構成此集合的來源目錄。
請注意,使用 <UNHANDLED-LINK>#exclude(Spec)</UNHANDLED-LINK> 和 <UNHANDLED-LINK>#include(Spec)</UNHANDLED-LINK> (或這些方法的任何重載)透過模式進行篩選僅篩選 DirectoryTree
s 從此方法傳回的 檔案,並且不會篩選來源目錄樹集合本身。此結果應與 SourceDirectorySet.getSrcDirTrees()
一致。
不篩選不存在的來源目錄。
- 預設值與
java-base
外掛程式 src/
${sourceSet.name}
/${sourceDirectorySet.name}
void
compiledBy
(TaskProvider
<T
>
taskProvider, Function
<T
, DirectoryProperty
>
mapping)
TaskProvider
<T
>Function
<T
, DirectoryProperty
>定義負責處理來源的 Task。
SourceDirectorySet
source
(SourceDirectorySet
source)
將給定的來源新增至此集合。
SourceDirectorySet
srcDir
(Object
srcPath)
將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。
SourceDirectorySet
srcDirs
(Object
...
srcPaths)
Object
...將給定的來源目錄新增至此集合。給定的目錄不需要存在。不存在的目錄將被忽略。