我想要在Groovy插件中獲取Java文件的目錄。如何在Gradle插件中獲取源代碼目錄?
例如,我有一個目錄中的Java文件:
"/gradleProject/src/main/java/com/file.java"
我如何獲得:
"src/main/java"
在Maven中有Build.getSourceDirectory()
,什麼是在搖籃等價?
我想要在Groovy插件中獲取Java文件的目錄。如何在Gradle插件中獲取源代碼目錄?
例如,我有一個目錄中的Java文件:
"/gradleProject/src/main/java/com/file.java"
我如何獲得:
"src/main/java"
在Maven中有Build.getSourceDirectory()
,什麼是在搖籃等價?
在Gradle中,這些源文件夾由SourceSet
管理,由Java插件提供給您。 java插件添加了兩個名爲main
和test
的源組。
一旦應用了java插件,您可以通過名稱簡單地訪問這些sourceSets及其屬性(例如,您正在查看的文件夾):project.sourceSets.main.srcDirs
- 這會爲您提供項目中主sourceSet的所有配置源目錄。
繼劉若英的回答,Groovy的DSL可以很容易地得到SourceSet
SourceSet mainSourceSet = project.sourceSets.main
在java中,這是更詳細一點
SourceSet mainSourceSet = project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().getByName("main");