セミコロンで区切られたディレクトリのリストを含む ant プロパティ ${src.dirs} があります。次に、(replaceregexp の) ファイルセットを指定する必要があります。そのファイルセットには、${src.dirs} にリストされているすべてのディレクトリのすべての Java ファイルが含まれている必要があります。どうすればできますか(ant-contribのファンキーなものは使用せず、プレーンなバニラantを使用します)。
プロパティ正規表現の使用方法の例がありsrc.dirs
ます が、使用しようとすると次のエラーが発生します。
/usr/work/dir1/src;/usr/work/java/dir2/src;/usr/libabc/src
build.xml:98: Problem: failed to create task or type propertyregex
編集: これが私の最終的な解決策です:
<loadresource property="source.dir.javafiles">
<propertyresource name="source.dir"/>
<filterchain>
<tokenfilter>
<replaceregex pattern="\s*([;,]\s*)*$" replace="/**/*.java"/>
<replaceregex pattern="\s*([;,]\s*)+" replace="/**/*.java," flags="g"/>
</tokenfilter>
</filterchain>
</loadresource>
<fileset dir="" includes="${source.dir.javafiles}"/>
これらの正規表現により、末尾のコンマまたはセミコロンが間違ったファイル セレクターを生成しないことが保証されます。