Замена версии набора Grails 3

В наших проектах Grails 2 мы использовали параметр командной строки set-version. Я не вижу эту команду в Grails 3. Я вижу свойство версии в файле gradle.build. Это заменило app.version из application.properties? Я создаю наши проекты, используя Jenkins и репозиторий SVN. Как лучше всего настроить параметр версии для Grails 3 на номер версии SVN. Ниже приведен раздел файла build.gradle, включающий свойство версии, которое создается при создании приложения Grail 3.

buildscript {
    repositories {
        mavenLocal()
        maven { url "https://repo.grails.org/grails/core" }
    }
    dependencies {
        classpath "org.grails:grails-gradle-plugin:$grailsVersion"
        classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.8.2"
        classpath "org.grails.plugins:hibernate5:6.0.0.M2"
    }
}

version "0.1"
group "appName"

apply plugin:"eclipse"
apply plugin:"idea"
apply plugin:"war"

В Grails 2 это свойство называлось app.version (из файла application.properties), и на него можно было сослаться в gsp, используя следующее:

Revision: <g:meta name="app.version"/>

person Joe    schedule 29.08.2016    source источник
comment
Я удалил свой ответ. Вопрос был отредактирован таким образом, что это совершенно другой вопрос. Я думаю, что это плохая практика, и вы должны были опубликовать новый вопрос.   -  person Jeff Scott Brown    schedule 31.08.2016
comment
Как написано прямо сейчас, вопрос действительно о двух отдельных проблемах. Один из них устанавливает номер версии на основе версии SVN, а другой — как получить номер версии в GSP.   -  person Jeff Scott Brown    schedule 31.08.2016
comment
Мне жаль, что вы неправильно поняли мой вопрос. Я отредактировал вопрос, чтобы было ясно, что речь идет не о версии Grails. Это всегда была команда set-version из Grails 2, которая меняла app.version в application.properties. Я добавил детали тега g:meta, так как именно так вы получаете доступ к значению, а имя было изменено в Grails 3, а некоторые документы все еще ссылаются на старое имя.   -  person Joe    schedule 31.08.2016
comment
Я был бы рад удалить свой вопрос и опубликовать его повторно, если это будет лучшей практикой.   -  person Joe    schedule 31.08.2016
comment
Я был бы рад удалить свой вопрос и опубликовать его повторно, если это будет лучшей практикой. - Удаление этого вопроса и публикация другого точно так же ничего не улучшит. Вы должны просто оставить этот. Лучше было бы оставить первоначальный вопрос без изменений, потому что это был правильный вопрос. Вы изменили его на целый отдельный вопрос, тем самым потратив время всех, кто потратил время, отвечая на первый вопрос.   -  person Jeff Scott Brown    schedule 31.08.2016
comment
Мне жаль, что вы неправильно поняли мой вопрос. Я отредактировал вопрос, чтобы было ясно, что речь идет не о версии Grails. - Первоначальный вопрос включал вопрос о том, как лучше всего настроить параметр версии для Grails 3, и не упоминал SVN или Jenkins. Вот почему я неправильно понял.   -  person Jeff Scott Brown    schedule 31.08.2016


Ответы (1)


После некоторого следа и ошибок при использовании Grails 3.2.0.M2 мне удалось использовать плагин Gradle для Jenkins. Мне удалось использовать переменную среды SVN_REPOSITORY, поэтому я отредактировал build.gradle следующим образом:

version System.getenv('SVN_REVISION')

Также я заметил в сгенерированном index.gsp, что имя свойства для значения версии с использованием библиотеки тегов g:meta изменилось. Имя изменилось на info.app.version, поэтому вот пример того, как теперь использовать это значение:

<g:meta name="info.app.version"/>

Также для версии Grails имя также изменилось:

<g:meta name="info.app.grailsVersion"/>
person Joe    schedule 30.08.2016