我有一个要使用gradle构建的自定义存档类型,其结构与标准Java项目相同,因此我想使用它,但是我还有其他资源可以转到自定义位置,此外,我想要将压缩文件打包为zip而不是jar打包,我正在考虑创建Java gradle插件的子类,但是我不确定这是否可行。创建这个继承Java功能的新插件的合适方法是什么?
最佳答案
如果要创建一个自定义的Java插件,该插件具有与标准gradle插件不同的约定,则建议从Java-base插件开始。 java-base插件确实提供了sourceset的功能,但是还没有任何功能。
而不是继承插件,您应该在自定义插件中应用它:
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)
...
}
}
干杯,
雷内