Grails 3 set-版本替换

Grails 3 set-version replacement

在我们的 Grails 2 项目中,我们使用了 set-version 命令行选项。我在 Grails 3 中看不到该命令。我在 gradle.build 文件中看到版本 属性。这是否取代了 application.properties 中的 app.version?我使用 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"/>

在使用 Grails 3.2.0.M2 进行一些尝试和错误之后,我成功地使用了 Jenkins 的 Gradle 插件。我能够使用环境变量 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"/>