0

私は次のコードを持っています:

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

この例では、元のファイルと同じ名前で、末尾に.zipを追加したzipを作成したいと思います。antで事前に元のファイルの名前を知らなくてもこれを行う方法はありますか?他のアリの仕事でも同じことができるようになりたいです。

別の言い方をすれば、ファイル名を各ファイルの「パターン」が解決するものにしたいと思います。

4

1 に答える 1

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>

ファイルセットまたはdirsetを反復処理するGroovyタスクの機能が見つかった場合は、非常に便利な機能です。

于 2013-03-20T22:37:14.043 に答える