Comment puis-je vérifier l'existence d'une propriété en utilisant Ant?
Je suis ouvert à l'utilisation de ant-contrib
, si Ant ne fournit rien de semblable.
Également, ant-contrib
a une tâche assert, qui fournit exists
, mais l'assertion n'est pas ce dont j'ai besoin ici car je préférerais une valeur de retour booléenne.
Vous pouvez utiliser la tâche Condition avec une condition isset .
<project default="test">
<property name="a" value="a"/>
<target name="test">
<condition property="a.set" else="false">
<isset property="a"/>
</condition>
<condition property="b.set" else="false">
<isset property="b"/>
</condition>
<echo message="a set ? ${a.set}"/>
<echo message="b set ? ${b.set}"/>
</target>
</project>
Sortie:
test:
[echo] a set ? true
[echo] b set ? false
Depuis Ant 1.9.1, il est possible d'utiliser les attributs "si" et "à moins". Vous pouvez utiliser ces nouveaux attributs si vous ajoutez les 2 espaces de noms xmlns: if = "ant: if" et xmlns: à moins = "ant: à moins" au projet.
<!DOCTYPE project>
<project xmlns:if="ant:if" xmlns:unless="ant:unless">
<property unless:set="property" name="property.is.set" value="false"/>
<property if:set="property" name="property.is.set" value="true"/>
<echo>${property.is.set}</echo>
</project>
voir aussi https://ant.Apache.org/manual/ifunless.html