2017-06-05 143 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");