使用ant svn任务获取工作副本的版本?

问题描述 投票:4回答:3

有没有一种方法可以使用svn ant任务获取工作副本的svn修订版号并将其放入变量中?

我想在我的Java清单文件中添加一个条目,其中包括svn修订版号,例如0.9.65361,其中65361是修订号。

java svn ant
3个回答
6
投票

啊哈,我发现了this idea,它仅取决于SVN中的svnversion命令行实用程序。

<project name="ant-exec-example" default="svnversion" basedir=".">
  <target name="svnversion">
    <exec executable="svnversion" outputproperty="svnversion" />
    <echo message="SVN Version: ${svnversion}"/>
  </target>
</project>

这里是在ant属性中捕获版本的位置:

<exec executable="svnversion" outputproperty="svnversion" />

0
投票

有几种方法-

  1. 使用实用程序-我相信您正在寻找这个-https://code.google.com/p/svntask/我已将其用于某些方面项目,效果很好。

  2. 使用命令行实用程序。 -“ svn信息http://svn.myweb.com/myproject”。要使用此方法,只需创建一个批处理文件,然后将此命令放入批处理文件。然后叫这个您的ant任务中的批处理文件,并从通过搜索该文本以“ Revision:”行开头。或者你可以只是转储整个结果。


0
投票

这是我的变体,用于在应用程序工件内捆绑svn修订版信息:

<target name="svn_revisions">
    <exec dir="${basedir}" executable="svn" output="${dir.out}/.revisions">
        <arg line="info"/>
    </exec>
    <exec dir="${basedir}" executable="svn" output="${dir.out}/.revisions" append="true">
        <arg line="status -u"/>
    </exec>
</target>

<target name="build-war" depends="compile, svn_revisions">
    <war basedir="web" file="${file.artifacts.DL}" webxml="web/WEB-INF/web.xml">
        <!-- main stuff -->
        <zipfileset dir="${dir.out}" prefix="META-INF" includes=".revisions"/>
    </war>
</target>
© www.soinside.com 2019 - 2024. All rights reserved.