Java: создание файла свойств, который содержит номер версии SVN

Я хочу создать файл свойств из моего скрипта ant, который содержит номер версии svn моего проекта. Я 1/3 пути сделано:

Для этого мне нужно:

  1. использовать svnversion

    1a. определить задачу SVN

    1б. использование <svn><wcVersion></svn>

  2. поместите результат в файл.properties, который заканчивается в моем пути сборки

Я немного заблудился с 1a и 2. Есть идеи?

2 ответа

Решение

Не берите в голову, я получил это работает:

<target name="svnversion">
  <echo file="${srcDir}/${packagePath}/svnversion.properties">svnversion=</echo>
  <exec executable="svnversion"
      output="${srcDir}/${packagePath}/svnversion.properties" append="true">
  </exec>
</target>   

Что я использовал, чтобы выполнить svn info --xml, а затем загрузил полученный XML-файл, используя <XmlProperty> задача и в конце концов просто заменить токен в файле свойств, который является путем к пути сборки.

Так что-то вроде этого:

<target name="svn-build-number">
  <tempfile property="svninfo.file"/>
  <exec dir="." executable="svn" output="${svninfo.file}">
    <arg line="info --xml"/>
  </exec>
  <echo message="${svninfo.file}" />
  <xmlproperty file="${svninfo.file}" collapseAttributes="true" />
  <echo message="${info.entry.revision}" />
</target>

В ${info.entry.revision} это ревизия репозитория в текущем каталоге.

Другие вопросы по тегам