30 votes

Comment écraser la propriété dans Ant?

Existe-t-il un moyen de réattribuer la valeur de la tâche property d'Ant? Ou existe-t-il une autre tâche disponible à cet effet?

35voto

skaffman Points 197885

La tâche Variable de ant-contrib peut le faire :

${x}   

${x}   

Cependant, ce n'est pas recommandé, car cela peut entraîner des effets secondaires étranges si certaines parties de vos scripts Ant supposent des valeurs de propriétés immuables, et que d'autres parties contredisent cette hypothèse.

27voto

Vadzim Points 4460

Pour des fins de justice, il existe une astuce qui permet de modifier les propriétés immuables d'une fourmi sans aucun autre bibliothèque (depuis java 6) :

        project.setProperty(attributes.get("name"), attributes.get("value"));

Utilisation :

    ${x}   

Comme d'autres l'ont mentionné, cela doit être utilisé avec précaution puisque toutes les approches canoniques se sont révélées inadaptées.

12voto

jamesh Points 9849

Les propriétés sont immuables dans la fourmi.

Vous pourriez être intéressé par la tâche var de ant-contrib.

Adressé de la même manière : ${my_var} et ${my_property}

12voto

Vladimir Points 4511

En fonction de la manière dont vous voulez utiliser la propriété modifiée, vous pouvez utiliser des macrodefs.

Par exemple, au lieu d'écrire ce qui suit :

et ne pas pouvoir appeler ant foo avec un autre message, vous pourriez écrire :

10voto

BPS Points 455

Depuis Ant 1.8, vous pouvez utiliser la tâche "local" pour changer la valeur d'une propriété au sein d'une cible. Notez que cela NE change pas la valeur de la propriété globale du même nom, mais c'est une façon de résoudre certains problèmes.

Voir

http://ant.apache.org/manual/Tasks/local.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X