2011-08-05 11 views

答えて

2

メインテンプレート内、またはどこでも。

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

環境によって制限する場合は、<g:if env="...">を使用できます。

ビルド日付はトリッキーで、おそらく何も意味しません。同じ日に2回建てることはありませんか?同じ時間ですか?私は、次のような、ビルドを識別するために、ビルドする前に自分のアプリケーションのバージョンでは、SVNのリビジョンを貼り付けています:代わりに、SVNのリビジョンを追加すると、あなただけのnew Date()を追加することができ_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(); 
    } 
} 

ビルドを取得します日付。

1

私はhaventははそれを私の自己を試してみましたが、詳細は

grails set-version 20110101-3 

def version = grailsApplication.metadata['app.version'] 

のようなものは、それがbuildPropertiesを構成することによって行うことができますGrailsの3のための解決策を探してdocumentation

0

いずれかを参照してくださいありタスク

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

を参照してください。
関連する問題