Estoy trabajando en un proceso de compilación Ant para una aplicación que utiliza un control de versiones en el siguiente formato: major.minor.buildcount. Por lo tanto, actualmente la aplicación es alrededor de 2.1.52, donde estamos en la versión 2.1 y ha habido 35 compilaciones.Preguntar al usuario por yes | no input
Ahora estoy agregando un objetivo ant para preguntar al usuario si desea avanzar la versión principal y/o la versión secundaria.
Cuando ejecuto mi objetivo desde la línea de comandos me gustaría seguir el siguiente:
@@ 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
Las líneas precedidas por @@ es la entrada del usuario que quisiera tomar. Mis versiones principales y secundarias se almacenan en un archivo build.properties.
Aquí está mi código hasta ahora
<?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>
Y mis build.properties
#Tue, 29 Mar 2011 11:46:30 -0400
version.buildnumber=35
version.major=2
version.minor=1
todavía soy muy nuevo a Ant así que siento que no puedo publicar un código más avanzado. Entonces, lo primero que tengo que hacer es agregar algún tipo de condición con respecto a las ediciones de mi archivo de propiedades.
Proporcione más detalles sobre "tipo de condicional". Tal vez AntForms (http://antforms.sourceforge.net/) es lo que buscas, interacción basada en formularios en scripts de hormiga con algún tipo de lógica, por ej. parámetro requerido y opcional, si y a menos que existan las condiciones para que el widget exista ... etc. ¡Recomendado para interacción basada en formularios con hormiga! – Rebse
Básicamente, si el usuario responde que sí (y), actualice el archivo de propiedad; de lo contrario, no haga nada. Realmente prefiero no usar Antforms porque eso me quita la capacidad de hacer mi compilación desde la línea de comandos, que es importante en este proyecto. –
Ant Flaka (http://code.google.com/p/flaka/) es un nuevo complemento Ant que proporciona un lenguaje de expresión innovador. Además de eso, Flaka proporciona estructuras de control condicional y repetitivo como when, unless, while, for, choose, switch ...Por lo tanto, para sus requisitos condicionales puede usar = su anidado tareas ... para otro caso, use la flaka elija | cuando | de lo contrario construya Para más detalles, consulte la documentación completa de Flaka = http://flaka.googlecode.com/files/flaka.pdf –
Rebse