我想从我的ant脚本生成一个包含我项目的svn版本号的属性文件。我是完成方式的1/3:
要做到这一点,我需要:
使用svnversion
1a上。 define the svn task
1b中。使用<svn><wcVersion></svn>
将结果放在最终在我的构建路径中的.properties文件中
我有点迷失1a和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}
中是当前目录中存储库的修订版。