包含根目录的Ant目录集
如何在Ant中定义一个目录集,它包括两个目录:项目的基本目录和子目录“test” 看起来不能使用“/”、“”或“”,专门包含目录集的根目录。例如,这包括“/test”,但不包括“.”:包含根目录的Ant目录集,ant,build-process,dirset,Ant,Build Process,Dirset,如何在Ant中定义一个目录集,它包括两个目录:项目的基本目录和子目录“test” 看起来不能使用“/”、“”或“”,专门包含目录集的根目录。例如,这包括“/test”,但不包括“.”: 这显然没有什么意义。在根目录中之后,test子目录将包含在所有其他目录中。也许你需要告诉我们什么会消耗这些脏东西,以及你期望它做什么?处理“测试”两次 根据您的评论,您需要添加根,然后为根中除test之外的所有内容添加“exclude”元素 或者创建两个目录集:一个是根目录,不包括所有子目录,另一个是just
这显然没有什么意义。在根目录中之后,test子目录将包含在所有其他目录中。也许你需要告诉我们什么会消耗这些脏东西,以及你期望它做什么?处理“测试”两次
根据您的评论,您需要添加根,然后为根中除test之外的所有内容添加“exclude”元素
或者创建两个目录集:一个是根目录,不包括所有子目录,另一个是just test。没有解释这种行为,但是下面的内容在我的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在回答中所说的差不多,但由于我一开始不理解,我认为代码示例可能有用。我想使用ant contrib的foreach循环目录集,并在每个目录中创建一个文件(例如,我将创建./file和./test/file)。我不认为包含一个特定的目录就一定包含它的子目录,除非您附加“/”或“/**”。嗯……我不一定事先知道非“测试”目录的名称。这太糟糕了——我可以包括,例如,“test”和“test/foo”,它将只使用这两个目录,而不是“test/bar”。但这在根级别不起作用。
<path id="my.two.dirs">
<dirset dir="." id="myDirs1" excludes="*/**" />
<dirset dir="." id="myDirs2" includes="test" />
</path>