次の ant ターゲットが定義されています。アイデアは、フォルダーの内容が変更された場合にのみ、重い作業を行うことです。
<target name="checksumAssets">
<echo message="verify checksums" />
<checksum todir="${bin.loc}/../checksums" verifyproperty="checksum.isUpToDate.test">
<fileset dir="${bin.loc}/assets/" id="filelist">
<include name="somefolder/" />
<exclude name="somefolder/result.swf"/>
</fileset>
</checksum>
<echo message="${toString:filelist}"/>
<echoproperties regex="checksum.isUpToDate.test"/>
</target>
<target name="createAsset" depends="checksumAssets" unless="${checksum.isUpToDate.test}">
<!-- do create the assets and other magic -->
<echo message="create checksum files" />
<checksum todir="${bin.loc}/../checksums" >
<fileset refid="filelist" />
</checksum>
</target>
somefolder には、処理される画像が含まれており、これらのアセットを含む swf ファイルになります。
アセットフォルダー内の何かが変更された場合にのみ、この重い処理が行われるようにします。
これは、次の 2 つの場合に見られるように機能します。
- 私はいくつかのフォルダに新しいファイルを追加します
- どこかのフォルダにある既存のファイルを変更します
私の問題は:
- このフォルダからファイルを削除すると機能しません。
ant createAsset
これは、問題のフォルダーからファイルを削除すると、createAsset ターゲットが呼び出されないことを意味します。前述の 2 つの場合と、checksums フォルダーにチェックサム ファイルが存在しない場合に呼び出されます。
私が逃したものはありますか?
アリのバージョンは1.8.2です