ant 读取 svn版本号

来源:互联网 发布:wis隐形水润面膜知乎 编辑:程序博客网 时间:2024/05/16 04:57

android编译  需要从svn中读取版本号,没安装svn,使用svnant

        <path id="path.svnant">           <pathelement location="lib/svnant.jar"/>      <pathelement location="lib/svnClientAdapter.jar"/>      <pathelement location="lib/svnkit.jar"/>      <pathelement location="lib/ganymed.jar"/>      <pathelement location="lib/svnjavahl.jar"/>      <pathelement location="lib/svnkit-cli-1.8.0-SNAPSHOT_r9949_v20130902_1351.jar"> </pathelement>      <pathelement location="lib/sqljet-1.1.8-SNAPSHOT_r1300_v20130826_2110.jar"/>          <!-- ... -->      </path>  <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />

把svnant 导入 ant 的lib文件夹,svnkit中的几个jar也到进去svnant使用制svnkit中的,svnant中的不是新的,高版本的svn无法读取

<svnSetting  svnkit="true"        javahl="false"    id="svn.settings"/>

使用svnkit读取

<target name="fetch_version" description="Sets property 'svn.info.lastRev' to head svn revision"> <svn refid="svn.settings">         <wcVersion path= "." />    </svn>          <property name="svn_version" value="${revision.max}" />         <property name="app.code.tmp" value=""/>         <echo message= "Subversion${committed.max} repository url: ${revision.max}" />         <echo>Revision found:${svn.info.lastRev} ${app.code.tmp}${svn_version}</echo>      <condition property="isUpdateCode" >          <not>           <equals arg1="${app.code.tmp}" arg2="${svn_version}"/>           </not>        </condition>    <!-- <antcall target="updateVersionCode"></antcall>  --></target>

ant fetch_version

Trying to override old definition of task iffetch_version:     [echo] Subversion repository url: 4094     [echo] Revision found:${svn.info.lastRev} 264094BUILD SUCCESSFULTotal time: 2 seconds

然后可以拿到svn_version做任何使用,当然安装个exe也能读取