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

标签 java gradle

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

最佳答案

如果你想创建一个具有约定的自定义 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)
        ...
    }
}

干杯,

雷内

关于java - 扩展 Gradle Java 插件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884862/

相关文章:

androidTest编译某个库的androidTest文件夹下的文件

gradle - 直接从命令行运行 Gradle 插件

java - TimeUnit.MILLISECONDS.toSeconds() 替代方案?

java - 试图从当前元素中找到下一个 div 元素

java - 如何使用 JNI 创建 native 类?

gradle - Gradle 中 "def"和 "static def"之间的区别

java - 使用 Gradle 构建多 java 项目

java - 统一变量报告未找到 LWJGL 3

Java RegEx 模式花费太多时间

java - Android - Canvas onDraw 具有跟随角色移动的缩放相机