内部编号:major.minor.revision

Dav*_*vis 40 java versioning ant build-process

如何build.xml使用自定义代码和外部依赖项(例如shell脚本)编写文件:

  • 生成major.minor.revision形式的内部版本号(例如,01.02.34).
  • 在每次编译源代码时自动递增修订.
  • 在每次执行dist(ribution)任务时自动递增次要版本.

另外:

  • 提供增加主号码的选项.
  • 提供增加次要编号的选项.
  • 每当主要编号递增时,次要编号和修订编号都将设置为0.
  • 每当次要编号递增时,修订编号将设置为0.

奖金:

  • 根据git修订号创建变量(如subversion修订号).

澄清:

  • 不需要自动结账(或提交).
  • 不希望与Subversion集成.

谢谢你的任何例子.以下是一些描述如何执行类似任务的相关网站:

rod*_*oap 54

build_info.properties文件中:

build.major.number=00
build.revision.number=00
build.minor.number=00
Run Code Online (Sandbox Code Playgroud)

build.xml文件中:

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="current-number">

<property file="build_info.properties"/>
<property name="build.number" value="${build.major.number}.${build.minor.number}.${build.revision.number}"/>

<target name="current-number">
 <echo>Current build number:${build.number}</echo>
</target>

<target name="compile">
   <antcall target="revision"></antcall>
</target>

<target name="dist">
  <antcall target="minor"></antcall>
</target>

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

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

<target name="major">
    <propertyfile  file="build_info.properties">
            <entry key="build.major.number" type="int" operation="+" value="1" pattern="00"/>
            <entry key="build.minor.number" type="int" value="0" pattern="00"/>
            <entry key="build.revision.number" type="int" value="0" pattern="00"/>
    </propertyfile>
</target>

<target name="all">
    <propertyfile  file="build_info.properties">
            <entry key="build.major.number" type="int" operation="+" value="1" pattern="00"/>
            <entry key="build.minor.number" type="int" operation="+" value="1" pattern="00"/>
            <entry key="build.revision.number" type="int" operation="+" value="1" pattern="00"/>
    </propertyfile>
</target>

</project>
Run Code Online (Sandbox Code Playgroud)