内部版本号:major.minor.revision [英] Build numbers: major.minor.revision
本文介绍了内部版本号:major.minor.revision的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您将如何编写 build.xml
文件,既不使用自定义代码也不使用外部依赖项(例如 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(例如,01.02.34)的内部版本号.
- 在每次编译源代码时自动增加修订版.
- 在每次执行 dist(ribution) 任务时自动增加次要版本.
另外:
- 提供增加主编号的选项.
- 提供增加次要编号的选项.
- 每当主编号增加时,次编号和修订编号都会设置为 0.
- 每当次要编号增加时,修订号就会设置为 0.
奖励:
- 根据
git
修订号(如 subversion 修订号)创建一个变量.
- 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:
- 创建内部版本号与蚂蚁.
- 使用 BuildNumber Ant 任务.
- Ant 和 构建版本 编号.
- 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屋!
查看全文