ANT:Foreach在使用目标属性时不排除文件

时间:2012-12-06 06:47:53

标签: ant ant-contrib

我有一个foreach标记来执行特定目录中的所有文件。作为文件集的一部分,我排除了两个文件。

但无论排除文件,param仍会将两个文件传递给目标“runpART”

我不想为排除的文件调用目标。

如果有任何办法,请告诉我。以下似乎不起作用

    <foreach target="runART" param="p.schedulerFile" inheritall="true" inheritrefs="true">
        <path>
            <fileset dir="${p.dir}" casesensitive="no">
                <!--<include name="**\*.xml"/>-->
                <excludesfile name="${pART.dir}\CodeCoverage_NSR.xml"/>
                <excludesfile name="${pART.dir}\CodeCoverageRegression_HLR.xml"/>
            </fileset>
        </path> 
    </foreach>

1 个答案:

答案 0 :(得分:1)

你不希望&lt; excludesfile&gt;,它需要一个包含排除模式的文件,你想要

 <exclude name="CodeCoverage_NSR.xml">
 <exclude name="CodeCoverageRegression_HLR.xml">

现在,假设你想要$ {p.dir} == $ {pART.dir}。 排除文件集中的模式必须相对于文件集的根目录(此处,其dir =“$ {p.dir}”)。 有关详细信息,请参阅:http://ant.apache.org/manual/Types/fileset.html