首先对不起,如果我在某处的文档中错过了这个。
我试图用Java编写Gradle插件。
更具体地说,我需要这样做:
public class MyPlugin implements Plugin<Project>{
@Override
public void apply(Project project) {
project.getSourceDir();
}
}
换句话说,如果可能的话,我怎样才能获得运行我的插件的项目源的目录?
我的假设是正确的,当调用apply方法时,Gradle已经知道了源的位置,这个位置不能进一步改变吗?
感谢。
答案 0 :(得分:1)
是的,因为插件是根据您的参数应用于项目的。如果你&#34;申请&#34;它到两个项目然后它创建插件的两个实例并将您的项目对象传递给apply方法。
答案 1 :(得分:0)
查看Gradle用户指南。
项目有一个&#34; sourceSet&#34;的列表您可以使用&#34; project.sourceSets&#34;来实现这些对象。每个sourceSet都有一组属性。
浏览The DSL reference以查看可用的属性非常方便。寻找&#34; SourceSet&#34;。