我正在使用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
属性,但我想在一个文件中包含特定目标的所有配置。我有什么其他的想法可以实现这个吗?