Ich kann nicht herausfinden, wie eine Ant-Eigenschaft unter der Bedingung festgelegt wird, dass sie nicht festgelegt wurde (dh sie ist nicht in der Eigenschaftendatei definiert und sollte automatisch als Standard festgelegt werden).
Bisher habe ich nur folgenden Code:
<condition property="core.bin" value="../bin">
<isset property="core.bin"/>
</condition>
Dies scheint jedoch nur zu funktionieren, wenn der Wert in einem <property>
Tag definiert ist .
Weiß jemand, wie man eine Eigenschaft zum ersten Mal bedingt festlegt, wenn sie derzeit nicht festgelegt ist?
Der einfachste Weg, um das zu tun, was Sie wollen:
<if> <not> <isset property="your.property"/> </not> <then> <property name="your.property" value="your.value"/> </then> </if>
quelle
Es gibt Unterstützung für die Verwendung von "else" in: https://ant.apache.org/manual/Tasks/condition.html , um Ihren genauen Zweck zu erfüllen.
sonst
Wechseln Sie also zu:
<condition property="core.bin" else="../bin"> <isset property="core.bin"/> </condition>
quelle
Eigenschaften in Ant sind unveränderlich. Nach der Definition können sie nicht mehr geändert werden.
Das Ant Contrib- Paket bietet jedoch die
variable
Aufgabe. Es funktioniert wie eine Eigenschaft, aber die Werte können geändert und deaktiviert werden. Beispiel aus der Dokumentation zu variablen Aufgaben :<var name="x" value="6"/> <if> <equals arg1="${x}" arg2="6" /> <then> <var name="x" value="12"/> </then> </if> <echo>${x}</echo> <!-- will print 12 -->
quelle