使用Ant,如何仅从第一级列出子文件夹,而不从目录树中列出?
说我有:
dir1
-- dir21
----dir211
-- dir22
<dirset dir="dir1"/>
将列出包括dir211
在内的所有目录。我该如何避免这种情况?
这样使用目录集:
<dirset dir="dir" includes="*"/>
或
<dirset dir="dir1">
<include name="*"/>
</dirset>
评论后编辑
includes attribute
和nested include name
应该是等价的,这里有一些
在我的windows机器上工作的片段,给定C:\foo\bar:
<project>
<echo>
${ant.version}
${java.version}
${os.name}
</echo>
<dirset dir="c:/foo" includes="*" id="foobar" />
<echo>${toString:foobar}</echo>
<dirset dir="c:/foo" id="foobaz">
<include name="*" />
</dirset>
<echo>${toString:foobaz}</echo>
</project>
输出:
Buildfile: C:rosebudAntTesttryme.xml
[echo] Apache Ant(TM) version 1.8.2 compiled on December 20 2010
[echo] 1.7.0_02
[echo] Windows 7
[echo]
[echo] bar
[echo] bar
BUILD SUCCESSFUL
我想在目录集中包含一个日期选择器,只选择根目录的子目录,这意味着我不能使用includes="*"
。我的解决方案是使用<depth>
选择器
<dirset dir="/myroot" excludes="*/*/**">
<date datetime="${cuttoff_time}"
pattern="${timeformat}"
when="before"
checkdirs="true" />
<depth max="1" />
</dirset>