ant - lenguaje - que es if else en programacion
Utilice Ant puro para implementar la condición if else(verifique la entrada de línea de comando) (2)
Puede crear pocos objetivos y usar etiquetas if
/ unless
.
<project name="if.test" default="doIt">
<target name="doIt" depends="-doIt.init, -test, -prod, -dev, -else"></target>
<target name="-doIt.init">
<condition property="do.test">
<equals arg1="${env}" arg2="test" />
</condition>
<condition property="do.prod">
<equals arg1="${env}" arg2="prod" />
</condition>
<condition property="do.dev">
<equals arg1="${env}" arg2="dev" />
</condition>
<condition property="do.else">
<not>
<or>
<equals arg1="${env}" arg2="test" />
<equals arg1="${env}" arg2="prod" />
<equals arg1="${env}" arg2="dev" />
</or>
</not>
</condition>
</target>
<target name="-test" if="do.test">
<echo>this target will be called only when property $${do.test} is set</echo>
</target>
<target name="-prod" if="do.prod">
<echo>this target will be called only when property $${do.prod} is set</echo>
</target>
<target name="-dev" if="do.dev">
<echo>this target will be called only when property $${do.dev} is set</echo>
</target>
<target name="-else" if="do.else">
<echo>this target will be called only when property $${env} does not equal test/prod/dev</echo>
</target>
</project>
Los destinos con -
prefijo son privados, por lo que el usuario no podrá ejecutarlos desde la línea de comandos.
Soy un novato en Ant. Mi script ant y recibe una variable de entrada de usuario llamada " env " desde la línea de comandos:
por ejemplo, ant doIt -Denv=test
El valor de entrada del usuario podría ser " prueba ", " dev " o " prod ".
También tengo el objetivo " doIt
":
<target name="doIt">
//What to do here?
</target>
En mi objetivo, me gustaría crear la siguiente condición if else para mi script ant:
if(env == "test")
echo "test"
else if(env == "prod")
echo "prod"
else if(env == "dev")
echo "dev"
else
echo "You have to input env"
Eso es para verificar qué valor ha ingresado el usuario desde la línea de comando, luego, imprimir un mensaje en consecuencia.
Sé con ant-Contrib , puedo escribir una secuencia de comandos ant con <if> <else>
. Pero para mi proyecto, me gustaría utilizar Ant puro para implementar la condición if else . Probablemente, debería usar <condition>
?? Pero no estoy seguro de cómo usar <condition>
para mi lógica. ¿Podría alguien ayudarme por favor?
Si alguno de ustedes requiere una condición simple if / else (sin elseif); luego usa el siguiente:
Aquí dependo de una variable env DMAPM_BUILD_VER, pero puede suceder que esta variable no esté configurada en el env. Entonces necesito tener un mecanismo para establecer un valor local predeterminado.
<!-- Read build.version value from env variable DMAPM_BUILD_VER. If it is not set, take default.build.version. -->
<property name="default.build.version" value="0.1.0.0" />
<condition property="build.version" value="${env.DMAPM_BUILD_VER}" else="${default.build.version}">
<isset property="env.DMAPM_BUILD_VER"/>
</condition>