java:生成包含svn版本号的属性文件

时间:2010-03-31 16:24:20

标签: svn ant

我想从我的ant脚本生成一个包含我项目的svn版本号的属性文件。我是完成方式的1/3:

要做到这一点,我需要:

  1. 使用svnversion

    1a上。 define the svn task

    1b中。使用<svn><wcVersion></svn>

  2. 将结果放在最终在我的构建路径中的.properties文件中

  3. 我有点迷失1a和2.任何想法?

2 个答案:

答案 0 :(得分:6)

没关系,我开始工作了:

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

答案 1 :(得分:3)

我使用的是执行svn info --xml,然后使用<XmlProperty> task加载生成的xml文件,最后只是替换属性文件中的标记,该标记是构建路径的路径。

这样的事情:

<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}中是当前目录中存储库的修订版。