基于任务图的gradle set ear appendix

时间:2014-05-27 09:45:59

标签: java properties gradle ear

我正在使用Gradle构建EAR文件。在Gradle中,我定义了虚拟任务,并使用它们来读取属性文件中的属性,如下所示:

task configure() {
    // load the default properties:
    loadProperties "configure.properties"

    // override them if a specific dummy task was found
    gradle.taskGraph.whenReady {taskGraph ->
        if (taskGraph.hasTask(configureForFallback)) {
            loadProperties 'configure.fallback.properties'
        }
    }
}

loadProperties是一种自定义方法。然后,可以轻松访问Gradle执行阶段中的属性。我想使用其中一个属性来影响EAR文件的名称,如下所示:

ear {
    if (this.properties.containsKey("CUSTOMAPPENDIX")) {
        appendix = "${CUSTOMAPPENDIX}"
    }
}

这不起作用,因为在appendix阶段读取configuration属性,我们将其设置为execution阶段。我可以以某种方式覆盖getAppendixName()任务的ear吗?

我可能会在Gradle命令行上传递CUSTOMAPPENDIX属性,但我想在一个文件中包含特定目标的所有配置。我有什么其他的想法可以实现这个吗?

0 个答案:

没有答案