如何从phing/ant文件集中排除基目录
我有一个phing构建目标,我想直接在我的项目库下的每个目录上运行它。我使用带有文件集的foreach任务在每个目录上运行目标。我遇到的问题是包含了基本目录,其文件名为“” 下面是目录结构的一个示例:如何从phing/ant文件集中排除基目录,ant,phing,fileset,build-tools,Ant,Phing,Fileset,Build Tools,我有一个phing构建目标,我想直接在我的项目库下的每个目录上运行它。我使用带有文件集的foreach任务在每个目录上运行目标。我遇到的问题是包含了基本目录,其文件名为“” 下面是目录结构的一个示例: One Two build.xml 下面是一个要测试的简单构建文件: <?xml version="1.0" encoding="UTF-8"?> <project name="Test" default="test"> <target name="te
One
Two
build.xml
下面是一个要测试的简单构建文件:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Test" default="test">
<target name="test">
<foreach param="filename" absparam="absfilename" target="echo-file">
<fileset dir="${project.basedir}">
<include name="*" />
<exclude name="*.*" />
</fileset>
</foreach>
</target>
<target name="echo-file">
<echo message="filename: ${filename}" />
<echo message="absfilename: ${absfilename}" />
</target>
</project>
不知道我第一次怎么就没弄明白,但解决办法如下:
<foreach param="filename" absparam="absfilename" target="echo-file">
<fileset dir="${project.basedir}">
<include name="*" />
<exclude name="/" />
<exclude name="*.*" />
</fileset>
</foreach>
在文件集中排除“/”将删除根目录
<foreach param="filename" absparam="absfilename" target="echo-file">
<fileset dir="${project.basedir}">
<include name="*" />
<exclude name="/" />
<exclude name="*.*" />
</fileset>
</foreach>