Grails - Как мне показать версию и дату / время сборки в моем приложении - PullRequest
5 голосов
/ 05 августа 2011

Я хотел бы знать, есть ли способ отобразить версию и дату сборки в верхней части моего приложения Grails.

Редактировать: я должен был сказать, что я ищу дату / времяприложение было построено.

Ответы [ 3 ]

3 голосов
/ 05 августа 2011

В вашем основном шаблоне или где угодно.

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

Вы можете использовать <g:if env="..."> для ограничения по средам, если хотите.

Сборка дата сложнее и, вероятно, ничего не значит. Вы никогда не строите дважды в один и тот же день? Тот же час? Я вставляю версию 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();
    }
}

Обратите внимание, что вместо добавления svn-ревизии вы можете просто добавить new Date(), чтобы получить дату сборки.

1 голос
/ 05 августа 2011

Я не пробовал сам, но есть что-то вроде

grails set-version 20110101-3

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

для получения дополнительной информации см. документацию

0 голосов
/ 06 июля 2017

Любой, кто ищет решение для 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"/>

См. Добавление даты сборки и другой пользовательской информации в war

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...