Java: как получить подвижное текущее changeset число для использования в программе

Я недавно начал использовать подвижный для управления версиями в проекте Java. Когда я запускаю свою программу, входные параметры, которые она раньше производила бесспорный вывод, записаны в определенный файл. Было бы хорошо, если я мог бы добавить текущее подвижное changeset число (указание на версию моей программы) к тому выходному файлу также.

Каков был бы самый легкий способ сделать так в Windows? Я мог записать простой синтаксический анализатор Java для выборки вывода первой строки hg log -l 1 команда, но возможно существует более легкий путь (т.е. меньше строк кода)?

8
задан Rabarberski 10 May 2010 в 19:53
поделиться

3 ответа

2
ответ дан 5 December 2019 в 07:11
поделиться

Поскольку вы работаете в проекте Java, это может иметь отношение к вам. Я использую эту цель Ant для отображения информации о версии (идентификатор набора изменений Mercurial) в списке приложений на странице Tomcat Manager. Я просто помещаю идентификатор набора изменений в элемент display-name xml в моем web.xml.

<target name="build.release">
    <exec executable="/usr/local/bin/hg" outputproperty="scm.version.tag.id">
        <arg value="id"/>
        <arg value="-i"/>
    </exec>
    <filter token="build.version.tag" value="${scm.version.tag.id}" />
    <copy file="${web.home}/WEB-INF/web.xml" todir="${build.home}" filtering="true" />
</target>

Внутри web.xml есть токен в элементе display-name xml, например:

<display-name>My Webapp @build.version.tag@</display-name>
7
ответ дан 5 December 2019 в 07:11
поделиться

Вы можете использовать hg identify .

hg id должен быть на этапе упаковки, когда исходные коды зафиксированы и вы генерируете упакованную (jar) версию своего приложения.
На этом этапе вы можете создать файл version.txt с такой информацией.

$ MY_VERSION=$(hg id)
$ echo $MY_VERSION
53efa13dec6f+ tip

(см., Например, «идентификация сборки» для Python )

10
ответ дан 5 December 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: