我想在自动构建的每个战争中附加env名称(grails [dev | test | prod] war
我尝试在BuildConfig.groovy中执行以下操作,但没有任何改变:
switch (grails.util.GrailsUtil.environment) {
case "development":
grails.project.war.file = "target/${appName}-dev-${appVersion}"
case "test":
grails.project.war.file = "target/${appName}-test-${appVersion}"
case "production":
grails.project.war.file = "target/${appName}-prod-${appVersion}"
}
有什么想法?当然我可以在命令行上手动更改它,但我想如果可能的话我会做一点清洁......
答案 0 :(得分:12)
GrailsUtil.environment
已弃用 - 请改用grails.util.Environment.current.name
。
由于时间问题,这是失败的 - GrailsUtil.environment
尚未设置,因此没有一个案例匹配。即使他们因为你没有休息陈述而遇到问题 - 每个案例你都需要一个。
这有效(虽然它使用全名,例如'生产'或'开发'):
grails.project.war.file = "target/${appName}-${grails.util.Environment.current.name}-${appVersion}.war"
答案 1 :(得分:1)
您也可以这样做:
grails.project.war.file = "target/${appName}${grails.util.Environment.current.name == 'development' ? '-dev' : ''}.war"