2014-11-04 120 views
1

我有一个ANT构建文件,我在其中创建WAR文件。在此ANT文件中,我已将版本信息添加到WAR文件名。但是发生的事情是,版本号的主要和次要版本都在同一时间更新。我的意思说的是增量主要和次要应该发生,因为 1.1.0 1.2.0 : : 1.9.0 2.0.0 如何使用ANT将版本号添加到WAR文件中

但正在发生的事情是

1.1.0 2.2.0 : : 9.9.0 10.10.0

我的Ant代码

<target name="war" depends="compile, sethostname, setcurrenttime, setdistdir_withversion"> 
    <echo>Load properties file</echo> 
    <loadproperties srcFile="build_info.properties" prefix="current"/> 

    <echo>Dist conf path : ${main.dist.dir}</echo> 
    <copy todir="${main.dist.dir}/prop/conf" preservelastmodified="true"> 
     <fileset dir="${conf.dir}"> 
      <!-- <include name="**/*_server.xml"/> --> 
      <include name="*_catalina_logging.properties"/> 
     </fileset> 

    <condition property="warfilename" value="${name}"> 
     <not> 
      <isset property="warfilename"/> 
     </not> 
    </condition> 

    <echo>Main Dist directory:${main.dist.dir}</echo> 
    <echo>Dist directory:${dist.dir}</echo> 
    <echo>WAR filename:${warfilename}</echo> 
    <war destfile="${main.dist.dir}/${warfilename}.war" 
      webxml="WebContent/WEB-INF/web.xml"> 
     <fileset dir="conf"/> 
     <fileset dir="WebContent"/> 
     <classes dir="${build.dir}"/> 
    </war> 
    <copy todir="${war.archive.dir}" preservelastmodified="true"> 
     <fileset dir="${main.dist.dir}"> 
      <include name="*.war"/> 
     </fileset> 
    </copy> 
</target> 

<target name="setwarfilename_withversion" depends="revision-deploywar"> 
    <loadproperties srcFile="build_info.properties" prefix="current"/> 
    <echo>Current build number:${current.build.major.number}.${current.build.minor.number}.${current.build.revision.number}</echo> 
    <property name="warfilename" value="${name}-${hostname}-${current.build.major.number}.${current.build.minor.number}.${current.build.revision.number}" /> 
    <echo>WAR filename set : ${warfilename}</echo> 
</target> 

<target name="sethostname" > 
    <property environment="env"/> 
    <condition property="hostname" value="${env.HOSTNAME}"> 
    <os family="unix"/> 
    </condition> 
    <condition property="hostname" value="${env.COMPUTERNAME}"> 
    <os family="windows"/> 
    </condition> 
    <echo message="host = ${hostname}"/> 
</target> 

<target name="setcurrenttime" > 
    <tstamp> 
     <format property="build.time" pattern="MM/dd/yyyy hh:mm:ss aa zzzz" timezone="America/Los_Angeles"/> 
    </tstamp>  
    <echo message="host = ${build.time}"/> 
</target> 

<target name="setbuildinfo"> 
    <propertyfile file="build_info.properties"> 
     <entry key="build.user" value="${user.name}"/> 
     <entry key="build.system" value="${hostname}"/> 
     <entry key="build.time" value="${build.time}"/> 
    </propertyfile> 
</target> 

<target name="revision"> 
    <echo>Revision</echo> 
    <propertyfile file="build_info.properties"> 
     <entry key="build.revision.number" type="int" operation="+" value="1" pattern="00"/> 
    </propertyfile> 
    <antcall target="setbuildinfo"/> 
</target> 

<target name="minor" > 
    <echo>Minor</echo> 
    <propertyfile file="build_info.properties"> 
     <entry key="build.minor.number" type="int" operation="+" value="1" pattern="00"/> 
    </propertyfile> 
    <antcall target="setbuildinfo"/> 
</target> 

<target name="major" > 
    <echo>Major</echo> 
    <propertyfile file="build_info.properties"> 
     <entry key="build.major.number" type="int" operation="+" value="1" pattern="00"/> 
    </propertyfile> 
    <antcall target="setbuildinfo"/> 
</target> 

<target name="revision-deploywar" depends="revision, minor, major" description="Deploy application as a WAR file"/> 
+0

http://stackoverflow.com/questions/14759755/ant-what-is-the-simplest-way-to-add-version-数字到内置的jar可能会帮助你 – 2014-11-04 07:08:02

回答

0

的问题是,以下目标取决于revision,minormajor目标,这将导致所有3个数字都增加。

<target name="revision-deploywar" depends="revision, minor, major" description="Deploy application as a WAR file"/> 

一般主号码被手动地通过显影剂递增,而次要数量编译后DIST和修改后递增。

看一看下面的答案的详细信息:https://stackoverflow.com/a/1452157/3041189

相关问题