Grails добавить SVN-ревизию в app.version - PullRequest
3 голосов
/ 10 марта 2011

Я пытаюсь добавить svn-ревизию к моему app.version, не требуя муравья или какого-либо другого подобного внешнего инструмента. Похоже, я мог бы подключиться к _Events.groovy к этому, но документация относительно скудна.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

7 голосов
/ 10 марта 2011

Эта ссылка из списка рассылки Grails nabble предлагает решение, которое вы ищете.Также выложите здесь код для полноты:

В scripts/_Events.groovy

eventWarStart = { type -> 

    println "******************* eventWarStart *****************" 
    try { 
        // initialise SVNKit 
        DAVRepositoryFactory.setup(); 
        SVNRepositoryFactoryImpl.setup(); 
        FSRepositoryFactory.setup(); 

        SVNClientManager clientManager = SVNClientManager.newInstance(); 
        println "clientManager = " + clientManager.toString(); 
        SVNWCClient wcClient = clientManager.getWCClient(); 
        println "wcClient = " + wcClient.toString(); 

        // the svnkit equivalent of "svn info" 
        File baseFile = new File(basedir); 

        println "baseFile = " + baseFile.toString(); 
        SVNInfo svninfo = wcClient.doInfo(baseFile, SVNRevision.WORKING); 
        println "svninfo = " + svninfo.toString(); 

        def version = svninfo.getURL(); 
        println "Setting Version to: ${version}" 
        metadata.'app.version' = "${version}".toString() 
        metadata.persist() 

    } 
    catch (SVNException ex) { 
        //something went wrong 
        println "**************** SVN exception **************" 
        println ex.getMessage(); 
    } 

} // End eventWarStart() 
0 голосов
/ 14 июня 2017

Grails 3.x, в build.gradle, добавить версию SVN к версии приложения:

version "1.0.${getSvnRevision()}"

def getSvnRevision() {
    def proc = "svnversion".execute()
    return proc.in.text
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...