Dans ANT, il est facile de définir la dépendance cible en utilisant l'attribut target.depends. Mais comment puis-je configurer une cible qu'ils sont exclusifs l'un de l'autre. Donc, il va vérifier la combinaison cible avant de les exécuter?Comment rendre les fourmis exclusives les unes aux autres?
1
A
Répondre
4
Vous pouvez faire chacun d'entre eux définissent une propriété commune et être exécutés que si cette propriété est pas encore défini:
<target name="a" unless="aOrBAlreadyRun">
<property name="aOrBAlreadyRun" value="true"/>
...
</target>
<target name="b" unless="aOrBAlreadyRun">
<property name="aOrBAlreadyRun" value="true"/>
...
</target>
Voir http://ant.apache.org/manual/targets.html des explications.
EDIT:
Si vous voulez que la construction d'échouer lorsque les cibles sont exécutées, puis échouer si la propriété est déjà définie:
<target name="a">
<fail if="aOrBAlreadyRun"
message="You can't have a and b executed in the same build"/>
<property name="aOrBAlreadyRun" value="true"/>
...
</target>
<target name="b">
<fail if="aOrBAlreadyRun"
message="You can't have a and b executed in the same build"/>
<property name="aOrBAlreadyRun" value="true"/>
...
</target>
0
La meilleure façon de le faire exclusif est très simple. Il suffit de ne pas les écrire dans le même fichier build.xml mais de faire une copie de celui-ci et de modifier deux versions en conséquence.
Questions connexes
- 1. Les classes peuvent-elles se référer les unes aux autres?
- 2. Rendre certaines barres proches les unes des autres dans Highcharts
- 3. Vidéos lues les unes après les autres
- 4. Comment les classes d'amis interagissent les unes avec les autres
- 5. Déclarez deux classes les unes des autres
- 6. sécuriser les images pour les rendre inaccessibles aux autres
- 7. Comment obtenir ces tables empilées les unes sur les autres?
- 8. Les classes python dépendent les unes des autres, comment init?
- 9. Comment exécuter ces fonctions les unes après les autres?
- 10. Comment gérer plusieurs activités interagissant les unes avec les autres?
- 11. Comment les balises héritent-elles les unes des autres?
- 12. comment séparer les icônes les unes des autres android
- 13. Comment garder les sessions cherrypy distinctes les unes des autres
- 14. Comment tracer dynamiquement les colonnes d'une matrice les unes par rapport aux autres?
- 15. Comment les classes génériques multi-imbriquées peuvent-elles se référer les unes aux autres?
- 16. Comment écrire une classe Helper pour mapper les classes les unes aux autres en Java?
- 17. comment vérifier si toutes les valeurs d'un tableau sont égales les unes aux autres. C++
- 18. Plusieurs requêtes dépendantes les unes des autres
- 19. Copier les lignes les unes après les autres Excell
- 20. empiler les images les unes sur les autres (javascript)
- 21. Fusion de deux pages PDF les unes sur les autres
- 22. Javascript peint les images les unes sur les autres
- 23. Les fenêtres ne s'affichent pas les unes sur les autres
- 24. Jquery afficher les images les unes après les autres
- 25. C#, les icônes ListView s'affichent les unes sur les autres
- 26. Charger les images les unes après les autres en JavaScript
- 27. Rendre le texte dans les cellules de table indépendantes les unes des autres
- 28. Affichage des lignes de données les unes sous les autres
- 29. Comparer toutes les valeurs d'une liste les unes par rapport aux autres
- 30. Aligner les tables les unes à côté des autres
Il vérifie et ignore après que l'un soit exécuté, sans avertissement ni message d'erreur. –
Voulez-vous dire que vous souhaitez que la sortie de Ant se termine par une erreur si les deux cibles sont exécutées? –
Cool. Il est possible de le prévenir avant? ne l'arrête pas après? –