4

如何在 Ant 中定义一个 dirset,其中包括两个目录:项目的基本目录和一个子目录“test”?

看起来您不能使用“/”、“.”或“”来专门包含 dirset 的根目录。例如,这包括“./test”,但不包括“.”:

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

2 回答 2

2

这显然没有意义。一旦根目录进入,测试子目录将包含在其他所有内容中。也许你需要告诉我们什么会消耗这个 dirset 以及你期望它做什么?处理“测试”两次?

根据您的评论,您需要添加根,然后为根中测试之外的所有内容添加“排除”元素。

或者制作两个 dirset:一个包含不包括所有子项的根目录,另一个只包含测试。

于 2009-12-29T21:35:14.073 回答
2

DirSet的文档没有解释这种行为,但以下内容在我的 Ubuntu 15.04 和 ant 版本 1.9.4 上正常工作

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

这几乎是 bmargulies 在他的回答中发布的内容,但由于我一开始并不理解它,我认为代码示例可能有用。

于 2015-09-30T16:04:11.423 回答