Comment faire pour appeler quelques-cible Ant que si certains variable d'environnement n'a pas été définie?
Je voudrais pas appel une cible dans build.xml dans le cas où il ya une certaine variable d'environnement.
En utilisant Ant 1.7.0, le code suivant ne fonctionne pas:
<property environment="env"/>
<property name="app.mode" value="${env.APP_MODE}"/>
<target name="someTarget" unless="${app.mode}">
...
</target>
<target name="all" description="Creates app">
<antcall target="someTarget" />
</target>
Cible "someTarget" exécute si il y a la variable d'environnement APP_MODE
ou pas.
- Ok, vous n' PAS vous voulez appeler la cible basé sur la propriété. Vous suggérer de changer le titre aussi. Ma réponse est sans importance maintenant, je vais le supprimer.
- Je vous remercie. Réponse correcte à l'usage "de l'app.mode", mais pas "${app.mode}".
Vous devez vous connecter pour publier un commentaire.
Les docs pour la
unless
attribut dire:Donc dans votre cas, vous avez besoin de mettre la nom de la propriété, plutôt que d'une évaluation de la propriété:
Notes
Les autres valeurs sont toujours supposés être des noms de propriété et que l'élément est activé uniquement si le nom de la propriété est définie.
De référence
À moins que l'attribut de suggérer, dans un langage simple, si la propriété est définie, alors la tâche ne serait pas exécutée. ex.
Ici , si vous appelez propre cible , il est exécuté en premier, puis sa valeur est définie. Et si vous voulez l'appeler de nouveau dans le script, alors il ne serait pas en tant que la propriété ne doit pas être fixé dans le but d'obtenir la tâche exécutée.