descargar java ant environment-variables release packaging

java - descargar - definir la propiedad ant del entorno con valor predeterminado



apache ant 1.6 2 bin (3)

No necesita usar una <condition> para esto. Las propiedades en Ant son inmutables , así que puedes usar esto:

<property environment="env"/> <property name="env.RELEASE_VER" value="dev"/>

Si se RELEASE_VER la variable de entorno RELEASE_VER , la propiedad obtendrá su valor del entorno y la segunda declaración <property> no tendrá efecto. De lo contrario, la propiedad se desactivará después de la primera declaración, y la segunda declaración establecerá su valor en "dev" .

Me gustaría que mi script de compilación funcione correctamente para los entornos de lanzamiento y desarrollo.

Para esto me gustaría definir una propiedad en hormiga, llámalo (por ejemplo) fileTargetName

fileTargetName obtendrá su valor de la variable de entorno RELEASE_VER si está disponible; si no está disponible, obtendrá el valor predeterminado de dev

Ayuda con hormiga <condition><value></condition> y <property> para que funcione.


Un ejemplo de la documentación de Ant sobre cómo obtener una variable de entorno en una propiedad:

<property environment="env"/> <echo message="Number of Processors = ${env.NUMBER_OF_PROCESSORS}"/> <echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>

En tu caso, ${env.RELEASE_VER} .

Luego, para la parte condicional, la documentación aquí dice que hay tres atributos posibles:

Attribute Description Required property The name of the property to set. Yes value The value to set the property to. Defaults to "true". No else The value to set the property to if the condition No evaluates to false. By default the property will remain unset. Since Ant 1.6.3

Poniendo todo junto:

<property environment="env"/> <condition property="fileTargetName" value="${env.RELEASE_VER}" else="dev"> <isset property="env.RELEASE_VER" /> </condition>


Estoy seguro de que hay formas más fáciles que esto, pero ¿qué tal?

<project name="example" default="show-props"> <property environment="env" /> <condition property="fileTargetName" value="${env.RELEASE_VER}"> <isset property="env.RELEASE_VER" /> </condition> <condition property="fileTargetName" value="dev"> <not> <isset property="env.RELEASE_VER" /> </not> </condition> <target name="show-props"> <echo>property is ${fileTargetName}</echo> </target> </project>