扩展Gradle Java插件的正确方法是什么?

时间:2014-01-02 14:13:08

标签: java gradle

我有一个自定义类型的存档,我想用gradle构建,结构等于标准的java项目,所以我想使用它,但后来我有其他资源转到自定义位置,另外我我希望将存档打包为zip而不是jar,我正在考虑创建Java gradle插件的子类,但我不确定这是否可行。创建这个继承Java功能的新插件的适当方法是什么?

1 个答案:

答案 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)
        ...
    }
}

欢呼声,