[Ant] utiliser une property dans une tâche zip

utiliser une property dans une tâche zip [Ant] - Java - Programmation

Marsh Posté le 27-04-2005 à 13:53:34    

Je cherche à faire une tâche ant pour générer une archive zip de mon projet.
Je veux mettre dans l'archive les répertoires src et lib et quelques fichiers de config d'eclipse.
J'ai défini dans mon fichier build.xml (qui est dans le répertoire de mon projet) quelques variables :


<project name="MonProjet" default="build">
    <description>
     MonProjet
    </description>
 <property name="bin" location="bin"/>
 <property name="src" location="src"/>
 <property name="lib" location="lib"/>
 <property name="doc" location="doc"/>
 <property name="dist" location="dist"/>


 
Pas de problème pour utiliser ces propriétés dans les autres tâches (javac, javadoc et jar), mais dans la tâche zip, ça ne marche pas :


    <target name="dev_dist" depends="build" description="--> Packages the project for development use">
     <zip destfile="${dist}/MonProjet_dev.zip" update="true">
         <fileset dir=".">
            <include name=".settings/*"/>
               <include name=".classpath"/>
               <include name="${src}"/>
               <include name="${lib}"/>
         </fileset>
       </zip>
    </target>


 
Je me retrouve avec une archive qui ne contient que .settings et .classpath.
 
Par contre si je remplace les propriétés par leur valeur :


               <include name="src"/>
               <include name="lib"/>


Là, ça marche bien !
 
Ant, c'est bien, mais c'est chiant :(
Est-ce que quelqu'un(e) peut m'aider sur ce coup ?

Reply

Marsh Posté le 27-04-2005 à 13:53:34   

Reply

Marsh Posté le 27-04-2005 à 14:03:35    

<property name="src" location="src/**/*"/>  
ou
<include name="${src}/**/*"/>
 
je suis pas du tout convaincu quand tu dis que <include name="src"/> marche.
 
sinon, fais des echo pour voir si tes propriétés sont bien settées.
<echo>${src}</echo>


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-04-2005 à 14:10:19    

a priori on met des fichiers dans le <include name=""> pas des répertoires :??:
 
sinon tu peux ajouter plusieurs <fileset dir="{src}">... <fileset dir="{lib}"> il me semble que ça marche

Reply

Marsh Posté le 27-04-2005 à 14:22:07    

frabill a écrit :

a priori on met des fichiers dans le <include name=""> pas des répertoires :??:
 
sinon tu peux ajouter plusieurs <fileset dir="{src}">... <fileset dir="{lib}"> il me semble que ça marche


 
Le pb est que je me retouve avec tous les sous-répertoires de src à la racine de mon archive. En faisant comme je fais, j'ai bien mon répertoire "src" dans l'archive.
 
Je vous promets que ça marche comme ça :)
 
moinsmoins> ça marche pas non plus avec ${src}/**/*, le echo me retourne la bonne valeur (le echo est la target mais pas dans la tâche zip car pas le droit)

Reply

Marsh Posté le 27-04-2005 à 14:25:06    

rectificatif :D
En fait, mes répertories sont créés, mais ils sont vides :D
Tu avais raison frabill ;)

Reply

Marsh Posté le 27-04-2005 à 14:26:44    

comme ça, ça marche :


    <target name="dev_dist" depends="build" description="--> Packages the project for development use">
     <zip destfile="${dist}/MonProjet_dev.zip" update="true">
         <fileset dir=".">
          <include name=".settings/*"/>
          <include name=".classpath"/>
             <include name="src/**/*"/>
             <include name="lib/**/*"/>
        </fileset>
       </zip>
    </target>


Reply

Marsh Posté le 27-04-2005 à 14:27:48    

et avec <include name="${src}/**/*"/> ça marche pas? :heink:
idée peut etre con, mais ... change un peu le nom de tes propriétés pour voir, genre bobuse_src au lieu de src...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-04-2005 à 14:35:11    

ouaip, ni l'un ni l'autre marche :

<include name="${src}/**/*"/>


ou

<include name="${project_src}/**/*"/>


Message édité par bobuse le 27-04-2005 à 17:17:14

---------------
get amaroK plugin
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed