【问题标题】:Grails 3 set-version replacementGrails 3 set-version 替换
【发布时间】:2017-01-05 19:23:30
【问题描述】:

在我们的 Grails 2 项目中,我们使用了 set-version 命令行选项。我在 Grails 3 中看不到该命令。我确实在 gradle.build 文件中看到了 version 属性。这是否替换了 application.properties 中的 app.version?我使用 Jenkins 和 SVN 存储库构建我们的项目。将 Grails 3 的版本参数设置为 SVN 修订号的最佳方法是什么。下面是 build.gradle 文件的一部分,其中包含 version 属性,该属性是在创建 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"/>

【问题讨论】:

  • 我已经删除了我的答案。该问题的编辑方式使其成为一个完全不同的问题。我认为这是不好的做法,您应该发布一个新问题。
  • 正如现在所写的,这个问题实际上是关于 2 个不同的问题。一是根据SVN版本设置版本号,二是如何在GSP中检索版本号。
  • 很抱歉您误解了我的问题。我确实编辑了这个问题,明确表示这与 grails 版本无关。它总是与 Grails 2 中的 set-version 命令有关,它更改了 application.properties 中的 app.version。我确实添加了 g:meta 标记详细信息,因为这是您访问值的方式,并且名称在 Grails 3 中发生了变化,并且一些文档仍然引用旧名称。
  • 如果这样做更好的话,我很乐意删除我的问题并重新发布问题。
  • “如果这样做更好的话,我很乐意删除我的问题并重新发布问题。” - 删除这个问题并发布另一个问题,就像它不会改善任何事情一样。你应该留下这个。更好的做法是保留原始问题,因为它是一个有效的问题。您将其更改为一个完全独立的问题,从而浪费了每个花时间回答第一个问题的人的时间。

标签: grails jenkins gradle build.gradle grails3


【解决方案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"/>

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 2011-12-23
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多