我有一个java项目,我使用de.fuerstenau.buildconfig gradle插件从我的构建脚本中设置java常量。我有两个任务可以为" HOME"创造一个具有不同价值的战争。常数:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.de.fuerstenau:BuildConfigPlugin:1.1.8"
}
}
apply plugin: 'de.fuerstenau.buildconfig'
[... left out]
buildConfig {
buildConfigField 'String', 'HOME', 'TEST_HOME'
}
task createLiveOnly(type: War, dependsOn: classes, group: 'build') {
buildConfig {
buildConfigField 'String', 'HOME', 'LIVE_HOME'
}
archiveName = 'live.war'
destinationDir = file("$buildDir/libs")
}
task createTestOnly(type: War, dependsOn: classes, group: 'build') {
buildConfig {
buildConfigField 'String', 'HOME_ENV_NAME', 'ISAMT_TEST_HOME'
}
archiveName = 'test.war'
destinationDir = file("$buildDir/libs")
}
task createWars(dependsOn: [createLiveOnly, createTestOnly], group: 'build')
[... left out]
}
意图:在运行createLiveOnly时,HOME =' LIVE_HOME'。运行createTestOnly时,HOME =' TEST_HOME'。运行createWars时,它会同时为HOME的两个值创建。当运行其他所有内容时(例如标准的gradle war),它默认为“TEST_HOME'”。 不幸的是,这不起作用,因为常量始终设置为' TEST_HOME'即使只运行createLiveOnly。为什么?我该如何解决?
感谢您的回答!