2017-06-05 55 views
0

我想要在Groovy插件中獲取Java文件的目錄。如何在Gradle插件中獲取源代碼目錄?

例如,我有一個目錄中的Java文件:

"/gradleProject/src/main/java/com/file.java" 

我如何獲得:

"src/main/java" 

在Maven中有Build.getSourceDirectory(),什麼是在搖籃等價?

回答

1

在Gradle中,這些源文件夾由SourceSet管理,由Java插件提供給您。 java插件添加了兩個名爲maintest的源組。

一旦應用了java插件,您可以通過名稱簡單地訪問這些sourceSets及其屬性(例如,您正在查看的文件夾):project.sourceSets.main.srcDirs - 這會爲您提供項目中主sourceSet的所有配置源目錄。

1

繼劉若英的回答,Groovy的DSL可以很容易地得到SourceSet

SourceSet mainSourceSet = project.sourceSets.main 

在java中,這是更詳細一點

SourceSet mainSourceSet = project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().getByName("main");