打造号码:major.minor.revision [英] Build numbers: major.minor.revision

查看:175
本文介绍了打造号码:major.minor.revision的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你会怎么写的build.xml 文件,既没有使用自定义的code和外部依赖(如shell脚本),即:

How would you write a build.xml file, using neither custom code nor external dependencies (such as a shell script), that:


  • 生成表单major.minor.revision的版本号(例如, 34年2月1日)。

  • 自动增量上的源$ C ​​$ C的每个编译的修订工作。

  • 自动增量上DIST(ribution)任务的每次执行的次要版本。

此外:


  • 提供一个选项,以增加主设备号。

  • 提供一个选项,以增加次要编号。

  • 每当主要数递增,次要和修订号被设置为0。

  • 每当次要数递增,版本号被设置为0。

奖励:


  • 创建基础上,混帐版本号的变量(如颠覆版本号)。

  • Creates a variable based on the git revision number (like a subversion revision number).

澄清:


  • 自动检测(或承诺)是不需要的。

  • 与Subversion集成是不希望的。

感谢您任何的例子。下面是一些相关网站,描述了如何执行类似的任务:

Thank you for any examples. Here are some related sites that describe how to perform similar tasks:

  • Create a Build Number with Ant.
  • Using the BuildNumber Ant task.
  • Ant and Build Version Numbers.

推荐答案

build_info.properties 文件:

build.major.number=00
build.revision.number=00
build.minor.number=00

的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>

这篇关于打造号码:major.minor.revision的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆