ディレクトリのリストを含むfilelist
があります。私はそれを繰り返す必要がありますfilelist
と各ディレクトリからファイルを取得し、別の場所にコピーします。ファイルリスト内のディレクトリの内部からファイルをコピーする
私はforeach
と組み合わせてfilelist
を使用しようとしましたが、filelist
をforeach
サポートしていません。 ANTでこれを行う方法は他にありますか?
for
と私の試み。
<copy>
タスクでは、ディレクトリが見つからないというエラーが発生します。探しているディレクトリは、与えられたfilelist
に最初にリストされているディレクトリではなく、${basedir}/bin/
です。私はそれが私のfilelist
を正しく読んでいないのでそれが仮定しています。私のforeach
バージョンでも同じエラーが発生します。部分的に今
作業
<for
list="devBuild"
delimiter=","
param="dirName"
trim="true">
<sequential>
<copy
todir="./apks/"
failonerror="true"
verbose="true">
<fileset dir="@{dirName}/../bin/">
<include name="*/*.apk"/>
</fileset>
</copy>
</sequential>
</for>
、for
ループはちょっと...働いています。私がそれを働かせる方法は、すぐ下に示されています。しかし、これはdevBuild
の参照が見つからないというエラーになります。ただし、filelist
は別のtarget
で先に作成され、その参照で作成されます。別のターゲットでその参照IDを使用できないのはなぜですか?
<for
delimiter=","
param="dirName"
trim="true">
<path>
<filelist
refid="devBuild"></filelist>
</path>
<sequential>
<echo>@{dirName}</echo>
<copy
todir="./apks/"
failonerror="true"
verbose="true">
<fileset dir="@{dirName}/../bin/">
<include name="*/*.apk"/>
</fileset>
</copy>
</sequential>
</for>
次のように作業を行いますが、私は再びfilelist
を作成するのではなく、参照IDを使用したいと思います。
<for
delimiter=","
param="dirName"
trim="true">
<path>
<filelist
id="devBuild"
dir="${basedir}"
files="${build1},${build2},${build3},${build4}"
/>
</path>
<sequential>
<echo>@{dirName}</echo>
<copy
todir="./apks/"
failonerror="true"
verbose="true">
<fileset dir="@{dirName}/../bin/">
<include name="*/*.apk"/>
</fileset>
</copy>
</sequential>
</for>
あなたは 'for'を使ってみましたか? – talnicolas
はい、解決されません。詳細はopに掲載されています。 – prolink007
私はいくつかの成功を収めましたが、動作するための 'filelist'リファレンスIDを得ることができませんでした。 – prolink007