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



是否有方法使用svn ant任务来获取工作副本的svn修订号并将其放入变量中?

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

啊哈,我发现了这个想法,它只依赖于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" />

有两种方法-

  1. 使用一个实用程序-我相信你正在寻找这个- https://code.google.com/p/svntask/我已经使用它的一些方面

  2. 使用命令行实用程序。—"svn info http://svn.myweb.com/myproject"。要使用此方法,只需创建一个批处理文件,并将此命令放入批处理文件中。然后调用这个批处理文件,并从通过搜索以"Revision:"行开头的文本。或者你可以

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

<target name="svn_revisions">
    <hostinfo prefix="HOST"/>
    <echo file="${dir.out}/.revisions" message="Built by ${user.name} on ${HOST.NAME}${line.separator}"/>
    <exec dir="${basedir}" executable="svn" output="${dir.out}/.revisions" append="true">
        <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="${dir.out}/ROOT.war" webxml="web/WEB-INF/web.xml">
        <!-- main stuff -->
        <zipfileset dir="${dir.out}" prefix="META-INF" includes=".revisions"/>
    </war>
</target>

相关内容

  • 没有找到相关文章

最新更新