4

Ant で、プロジェクトのベース ディレクトリとサブディレクトリ "test" の 2 つのディレクトリを含むディレクトリセットを定義するにはどうすればよいですか?

「/」、「.」、または「」のいずれかを使用して、dirset のルート ディレクトリを具体的に含めることはできないようです。たとえば、これには「./test」は含まれますが、「.」は含まれません。

<dirset dir="." id="myDirs">
    <include name="." />
    <include name="test" />
</dirset>
4

2 に答える 2

2

DirSetのドキュメントではこの動作について説明されていませんが、以下は ant バージョン 1.9.4 を搭載した Ubuntu 15.04 で適切に動作します。

<path id="my.two.dirs">
    <dirset dir="." id="myDirs1" excludes="*/**" />
    <dirset dir="." id="myDirs2" includes="test" />
</path>

これは bmargulies が彼の回答に投稿したものとほぼ同じですが、最初は理解できなかったので、コード例が役立つかもしれないと思いました。

于 2015-09-30T16:04:11.423 に答える
2

それは明らかに意味がありません。ルートが含まれると、test サブディレクトリが他のすべてのものに含まれます。たぶん、このダーセットを何に消費するのか、何を期待しているのかを私たちに伝える必要がありますか? 'test' を 2 回処理しますか?

コメントに基づいて、ルートを追加し、テストを除くルート内のすべてに「除外」要素を追加する必要があります。

または、2 つの dirsets を作成します。1 つは root ですべての子を除外し、もう 1 つは test だけです。

于 2009-12-29T21:35:14.073 に答える