Военное имя Grails в зависимости от среды - PullRequest
4 голосов
/ 15 марта 2011

Я хотел бы добавить имя env к каждой войне, которую я строю автоматически

Я пытался сделать следующее в 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}"
}

Есть мысли? конечно, я могу изменить это вручную в командной строке, но я подумал, что сделаю это немного чище, если это возможно ...

Ответы [ 2 ]

12 голосов
/ 15 марта 2011

GrailsUtil.environment устарело - вместо этого используйте grails.util.Environment.current.name.

Это происходит из-за проблемы синхронизации - GrailsUtil.environment еще не установлено, поэтому ни один из случаев не совпадает.Даже если бы они были, у вас возникла бы проблема, поскольку у вас нет операторов останова - вам нужен один для каждого случая.

Это работает (хотя и использует полное имя, например, «production» или «development»):

grails.project.war.file = "target/${appName}-${grails.util.Environment.current.name}-${appVersion}.war"
1 голос
/ 03 февраля 2015

Вы также можете сделать что-то вроде этого:

grails.project.war.file = "target/${appName}${grails.util.Environment.current.name == 'development' ? '-dev' : ''}.war"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...