Comment définir une propriété Ant uniquement si elle n’est pas définie

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}