在Groovy Ant任务中保留原始文件名

时间:2013-03-19 22:03:51

标签: ant groovy

我有以下代码:

new AntBuilder().zip( destFile: "${file}.zip" ) {
        fileset( dir: srcDir ) {
            include( name:pattern )
        }
    }

在这个示例中,我希望 ant创建一个与原始文件同名的zip,但最后添加.zip。有没有办法在不知道的情况下执行此操作原始文件的名字提前蚂蚁?我希望能够和其他蚂蚁任务做同样的事情。

换句话说,我希望文件名成为每个文件解析的“模式”。

1 个答案:

答案 0 :(得分:1)

这样的东西?

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

    <dirset id="dirsToZip" dir="src">
        <include name="dir*"/>
    </dirset>

    <groovy>
        project.references.dirsToZip.each { 
            ant.zip(destfile: "${it}.zip", basedir: it)
        }
    </groovy>
</target>

如果找到groovy任务通过文件集迭代或dirset非常有用的功能。