Ant ビルドには、次のようなファイル セットがあります。
<fileset dir="somewhere/lib" includesfile="third-party-jars.txt"/>
次に、すべての jar がテキスト ファイルに完全に綴られます。(別のテキスト ファイルにある理由は、実際にはビルド ファイルの簡潔さとは関係ありませんが、すべてのサード パーティの jar ファイル ライセンスが文書化されていることを確認する統合テストからリストを調べやすくするためです。 )
誰かがコミットを行い、ファイルがビルドに入るのを妨げました。Ant は不足しているファイルをまったく検出しませんでした。ビルドは続行されました。ファイル名がフルスペルであるにもかかわらず、ファイルが見つからないことが検出されないのは悪いようです... そこで、今それを解決しようとしています.
の属性がありますがerroronmissingdir
、追加しても役に立ちません (dir
が欠落しているわけではありません)。ファイルセット内の欠落ファイルに関するエラーを取得する方法はありますか? 理想的にはコンパクトな方法です...これらのファイルセットが複数あり、コードの複製は魅力的に聞こえないためです。
他の人は、単一のファイルをチェックしたい場合に、これのより単純な変形を求めています。1 つのファイルをチェックするには、available
タスクを使用します。available
ただし、1 つのリソースしかサポートしていないようです。
リソース コレクションを制限して、使用可能なリソースと使用できないリソースを見つけようと試みました。
<restrict id="temp.available"><resources refid="@{ref-name}"/></restrict>
<difference id="temp.unavailable">
<resources refid="@{ref-name}"/>
<resources refid="temp.available"/>
</difference>
<fail message="Missing stuff">
<condition>
<resourcecount refid="temp.unavailable" when="greater" count="0"/>
</condition>
</fail>
リソース コレクションに存在しないアイテムが既に存在しないため、これは機能しません。