Ant:使用任务处理子文件夹中的文件

时间:2011-02-22 06:54:49

标签: ant

我有一个文件夹结构如下

+ [BASE]
+++ [DIR 1]
++++++ File.zip
+++ [DIR 2]
++++++ File.zip
....

我在BASE中有一个build.xml。我需要有一个任务,我可以在每个File.zip中解压缩DIR*。我需要它,以便添加新的DIR也应该被处理。

我尝试了以下内容,以获取目录名称但不知道如何继续进行

<dirset id="contents" dir="." />
<property name="prop.contents" refid="contents"/>

1 个答案:

答案 0 :(得分:1)

您可以尝试使用嵌入式groovy脚本。像这样:

<target name="unzip">
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

    <fileset id="zips" dir="." includes="**/*.zip"/>

    <groovy>
        project.references.zips.each { fileResource ->
            def file = new File(fileResource.toString())

            ant.unzip(src:file, dest:file.parent)
        }
    </groovy>
</target>