2010-02-23 4 views
3

Existe-t-il un moyen de spécifier des actions comme <copier> dans un fichier de construction Ant qui est exécuté chaque fois que le fichier de construction est lu par ant (quelle que soit la cible appelée)? L'arrière-plan est: Je veux qu'un fichier * .properties soit automatiquement créé à partir d'un modèle lorsqu'il n'est pas présent. Je sais, je pourrais spécifier une cible qui le fait et ensuite l'inclure à la racine de l'arbre de dépendance mais peut-être qu'il y a une solution plus élégante. Parce que le problème est en fait un peu plus complexe: le fichier ant où le fichier * .properties est lu est importé par d'autres fichiers de construction et je ne veux pas croiser de cibles entre eux. J'espère avoir suffisamment expliqué mon problème. En cas de questions ne hésitez pas à demander.Exécuter l'action Ant toujours et indépendamment de la cible

Ceci est ma première publication ici. J'espère que vous pouvez aider - Salutations d'Allemagne, Ben.

Répondre

5

Placez simplement le code en haut du fichier, en dehors d'une définition cible.

<project name="myproject" default="mytarget" basedir="."> 

    <echo message="Hello there." /> 

    <target name="mytarget"> 
    <!-- Do stuff. --> 
    </target> 

    <target name="myothertarget"> 
    <!-- Do other stuff. --> 
    </target> 

</project> 

Dans ce cas, le echo sera exécuté une fois avant obtenir une cible, quelle que soit la cible est invoquée.

+0

Merci beaucoup! J'ai aussi pensé à cela, mais je n'ai pas vu le If-Task dans l'aide au contenu, c'est pourquoi j'ai pensé que ce n'était pas possible. Mais il s'est avéré que le problème était que je n'avais pas inclus le fichier ant-contrib.jar dans les préférences du plugin Ant d'Eclipse et j'ai oublié l'instruction taskdef nécessaire. Maintenant tout est lisse. – Ben

Questions connexes