【问题标题】:Grails - How Do I Show Version And Build Date/Time In My ApplicationGrails - 如何在我的应用程序中显示版本和构建日期/时间
【发布时间】:2011-08-05 14:29:02
【问题描述】:

我想知道是否有办法在我的 Grails 应用程序顶部显示版本和构建日期。

编辑:我应该说我正在寻找应用程序的构建日期/时间。

【问题讨论】:

    标签: grails


    【解决方案1】:

    在您的主模板中,或任何地方。

    <p style="float:right">Server version: <%=ApplicationHolder.application.metadata['app.version']%></p>
    

    如果您愿意,可以使用&lt;g:if env="..."&gt; 来限制环境。

    Build date 比较棘手,可能没有任何意义。你不会在同一天建造两次吗?同一小时?我在构建之前将 svn 修订版粘贴在我的应用程序版本中以识别构建,如下所示:

    _Events.groovy

    eventWarStart = { type ->
        addSvnRevisionToAppVersion()
    }
    
    private def addSvnRevisionToAppVersion() {
        try {
            DAVRepositoryFactory.setup();
            SVNRepositoryFactoryImpl.setup();
            FSRepositoryFactory.setup();
    
            SVNClientManager clientManager = SVNClientManager.newInstance();
            SVNWCClient wcClient = clientManager.getWCClient();
            File baseFile = new File(basedir);
            SVNInfo svninfo = wcClient.doInfo(baseFile, SVNRevision.WORKING);
    
            def svnRevision = svninfo.getRevision().number;
    
            String oldVersion = metadata.'app.version'
            String newVersion
            if (oldVersion.matches(/.*\.r\d+/)) {
                newVersion = oldVersion.replaceAll(/\.r\d+/, ".r${svnRevision}");
            }
            else {
                newVersion = oldVersion + ".r${svnRevision}".toString()
            }
            metadata.'app.version' = newVersion
            metadata.persist()
    
        }
        catch (SVNException ex) {
            println "**************** SVN exception **************"
            println ex.getMessage();
        }
    }
    

    请注意,您可以附加 new Date() 来获取构建日期,而不是附加 svn 修订版。

    【讨论】:

      【解决方案2】:

      我自己没试过,但是有类似的东西

      grails set-version 20110101-3
      
      def version = grailsApplication.metadata['app.version']
      

      更多信息请参考documentation

      【讨论】:

        【解决方案3】:

        任何寻找 grails 3 解决方案的人。可以通过配置 buildProperties 任务来完成

        buildProperties {
            inputs.property("info.app.build.date", new Date().format('yyyy-MM-dd HH:mm:ss'))
        }
        
         <g:meta name="info.app.build.date"/>
        

        Adding build date and other custom info to war

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-04-14
          • 2022-12-11
          • 2022-08-04
          • 1970-01-01
          • 1970-01-01
          • 2011-01-17
          • 2011-06-18
          相关资源
          最近更新 更多