我的 ant 项目中有一个 build.xml 文件,我正在尝试设置一个带有属性的内部版本号。我在一个名为 version.properties 的文件中有以下字段:
build.major.number
build.minor.number
build.revision.number
build.number
我的build.number格式是:
${build.major.number}.${build.minor.number}.${build.revision.number}
我目前正在更新号码运行我的"dist"目标时,属性文件操作="+"的修订版。现在一切正常,除了内部版本号始终取自以前的版本,例如 revision.number = 5,内部版本号 = 1.1.4。
我已经让它制作了 2 个目标和依赖项来更新 version.properties 文件,首先更新修订版号,然后在下一个目标中更新 build.number 文件。
似乎 operation="+" 是在目标中的每个值分配后执行的,因此我可以通过创建新目标来获取更新的值,但这似乎很草率,我希望能够在 1 个目标中做到这一点。
如果 2 目标选项尽可能干净,无需任何 JS 脚本或任何额外的包,那么好吧,我只需要知道它是否是这样。
原始版本.属性
build.major.number=1
build.minor.number=1
build.revision.number=4
build.number=1.1.4
构建.xml
<project name="ant-propertyfile-task" default="run" basedir=".">
<target name="run">
<propertyfile file="version.properties">
<entry key="build.revision.number" type="int" operation="+" value="1"/>
</propertyfile>
<loadproperties srcFile="version.properties"/>
<property
name="new.build.number"
value="${build.major.number}.${build.minor.number}.${build.revision.number}"
/>
<propertyfile file="version.properties">
<entry key="build.number" value="${new.build.number}"/>
</propertyfile>
</target>
</project>
更新的版本属性
build.major.number=1
build.minor.number=1
build.revision.number=5
build.number=1.1.5