Je ne parviens pas à comprendre comment définir une propriété Ant à condition qu’elle n’ait pas été définie (c’est-à-dire qu’elle n’est pas définie dans le fichier de propriétés et devrait être automatiquement définie par défaut).
Jusqu’à présent, je n’ai que le code suivant:
Mais cela ne semble fonctionner que si la valeur est définie dans une .
Est-ce que quelqu’un sait comment mettre en place une propriété pour la première fois si elle n’est pas encore en place?
Vous pouvez simplement définir la propriété avec la propriété-tâche. Si la propriété est déjà définie, la valeur rest inchangée, car les propriétés sont immuables.
Mais vous pouvez également inclure «non» dans votre état:
Ant le fait par défaut; si la propriété est déjà définie; le remettre à nouveau n’a aucun effet:
Donne
/c/scratch> ant -f build.xml Buildfile: build.xml demo: [echo] Property value is '${aProperty}' BUILD SUCCESSFUL Total time: 0 seconds /c/scratch> ant -f build.xml Buildfile: build.xml demo: [echo] Property value is 'foo' BUILD SUCCESSFUL
Les propriétés ne peuvent pas être redéfinies; pour ce faire, vous devez utiliser quelque chose comme la tâche variable de ant-consortingb .
La façon la plus simple de faire ce que vous voulez:
L’utilisation de «else» dans: https://ant.apache.org/manual/Tasks/condition.html permet de répondre à vos besoins.
autre
The value to set the property to if the condition evaluates to false. By default the property will remain unset. Since Apache Ant 1.6.3
Alors changez pour:
Les propriétés à Ant sont immuables. Après leur définition, ils ne peuvent plus être modifiés.
Mais le package Ant Consortingb offre la tâche variable
. Cela fonctionne comme une propriété mais les valeurs peuvent être modifiées et non définies. Exmaple à partir de la documentation de la tâche variable :
${x}