Maven : Retrieve Subversion revision number with Ant
This page last changed on Feb 21, 2006 by Kees de Kooter
This ant task retrieves the revision number of HEAD using the svn.exe commandline tool. This has to be available on the path. Furthermore ant-contrib.jar needs to be present in the classpath. Altogether not a very portable solution...
<target name="find_revision">
<property name="revision" value="HEAD"/>
<property name="svn.root" value="svn://traffic01/var/svnroot/trafficits"/>
<property name="log.dir" location="log"/>
<property name="release.root" location="c:/var/projects/release"/>
<!-- find out revision number of HEAD, need svn.exe installed on local machine -->
<exec executable="svn" outputproperty="svnlog.out">
<arg line="log ${svn.root} -r ${revision} -q"/>
</exec>
<echo>${svnlog.out}</echo>
<!-- need ant-contrib.jar for this in lib dir of ant install -->
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<propertyregex property="revision.number" input="${svnlog.out}"
select="\1">
<regexp pattern="r([0-9]*)"/>
</propertyregex>
<echo>Revision found: ${revision.number}</echo>
</target>