Я работаю над процессом сборки Ant для приложения, которое использует управление версиями в следующем формате: major.minor.buildcount. Итак, в настоящее время приложение находится примерно на уровне 2.1.52, где мы находимся на версии 2.1 и было 35 сборок.
Теперь я добавляю цель ant, чтобы спросить пользователя, хотят ли они продвинуть основную версию и / или второстепенная версия.
Когда я запускаю свою цель из командной строки, я хотел бы следовать следующему:
@@ ant version
Versioning application...
Would you like to advance the major version to 3? (Y|n)
@@ n
Not Advancing major version
Would you like to advance the minor version to 2? (y|N)
@@ y
Advancing minor version
Строки с префиксом @@ - это вводимые пользователем данные, которые я хотел бы принять. Моя основная и дополнительная версии хранятся в файле build.properties.
Вот мой код на данный момент
<?xml version="1.0"?>
<project name="StudentMS" default="zip" basedir=".">
<propertyfile file="./.ant/build.properties">
<entry key="version.buildnumber" type="int" default="0" operation="+" pattern="00" />
</propertyfile>
<property file="./.ant/build.properties" />
<property name="sourceDir" location="/Users/dave/Workspace/ColdFusion/StudentMs" />
<property name="buildDir" location="${sourceDir}/builds" />
<target name="version" description="Adds a major and minor version to the build.">
<input message="Advance major version? ${version.major}" addproperty="updatemajor" validargs="y,n" defaultvalue="n" />
<propertyfile file="./.ant/build.properties">
<entry key="version.major" type="int" default="0" operation="+" pattern="00" />
</propertyfile>
<input message="Advance minor version? ${version.minor}" addproperty="updateminor" validargs="y,n" defaultvalue="y" />
<propertyfile file="./.ant/build.properties">
<entry key="version.minor" type="int" default="0" operation="+" pattern="00" />
</propertyfile>
</target>
</project>
И мой build.properties
#Tue, 29 Mar 2011 11:46:30 -0400
version.buildnumber=35
version.major=2
version.minor=1
Я все еще новичок в Ant, поэтому мне очень жаль, что я не могу разместить более продвинутый код. Итак, первое, что мне нужно сделать, это добавить какое-то условие к редактированию моего файла свойств.