Ant: Wie alle zip-Archive aus Ordner entpacken?

Miriam84

Mitglied
Hallo,

gibt es eine Möglichkeit mit ant alle Zip Dateien welche sich in einem Ordner befinden in einen bestimmten Ordner zu exportieren. Ohne das für jede zip-Datei einzeln aufschreiben zu müssen.
 

fastjack

Top Contributor
Du brauchst als erstes AntContrib. Dann mußt Du ein FileSet erzeugen und dieses mittels PathConvert in eine Property (als platte Liste) konvertieren. Dann kannst Du mit ForEach diese Liste durchgehen und jeweils ein eigenes parametrisiertes Target aufrufen, welches dann unzip ausführt.
 

fastjack

Top Contributor
Beispiel :

Code:
    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
        <classpath>
            <pathelement location="ant-contrib-1.0b3.jar" />
        </classpath>
    </taskdef>
    <target name="unzipall">
        <!-- file-set auf dir xyz. -->
        <fileset id="fs" dir="xyz">
            <include name="*.zip"/>
        </fileset>
        <!-- convert fs in prop list : xyz/abc.zip,xyz/tinki.tip,xyz/lala.zip -->
        <pathconvert pathsep="," property="list" refid="fs"/>
        <echo>ZIP files found: ${list}</echo>
        <!-- for each in list do unzip -->
        <foreach list="${list}" target="unzip" param="file" trim="yes" />
    </target>
    <target name="unzip">
        <echo>unzip ${file}</echo>
        <!-- unzip aufruf etc. -->
    </target>
 

Neue Themen


Oben