我有一个自定义类型的存档,我想用gradle构建,结构等于标准的java项目,所以我想使用它,但后来我有其他资源转到自定义位置,另外我我希望将存档打包为zip而不是jar,我正在考虑创建Java gradle插件的子类,但我不确定这是否可行。创建这个继承Java功能的新插件的适当方法是什么?
答案 0 :(得分:8)
如果你想创建一个具有约定的自定义java插件,它与标准的gradle插件不同,我建议从java-base插件开始。 java-base插件确实提供了源集的功能,但还没有提供任何源集。
您应该在自定义插件中应用它,而不是继承插件:
class YourCustomJavaPlugin implements Plugin<Project> {
void apply(Project project){
// 1st apply the 'java-base' plugin
project.apply(plugin:'java-base')
// 2nd apply your own conventions on top
project.sourceSets.create("customSourceSet")
Zip myZip = project.tasks.create("zip", Zip)
...
}
}
欢呼声,
勒