检查fileset中的所有文件都包含ant中的字符串

时间:2010-12-04 10:31:30

标签: ant

任何人都可以提供一个ant构建示例,它检查文件集找到的所有文件是否包含某些令牌而不包含其他令牌?

(谷歌对此并不是很有用,所以我在这里......)

1 个答案:

答案 0 :(得分:3)

我认为这可以使用ant的resourcecontains条件来完成,但我不确定它是否接受多个资源(有关详细信息,请参阅the docs)。但是,可以使用resourcecount contition:

来完成
<project name="Test" default="main" basedir=".">

  <patternset id="filestotest">
    <include name="*.c"/>
  </patternset>

  <target name="main">
    <condition property="contain">
      <resourcecount when="greater" count="0">
        <fileset dir=".">
          <patternset refid="filestotest"/>
          <contains text="main" casesensitive="yes"/>
        </fileset>
      </resourcecount>
    </condition>
    <condition property="donotcontain">
      <isfalse value="${contain}"/>
    </condition>
    <echo message="${contain}"/>
    <echo message="${donotcontain}"/>
  </target>
</project>

您可以使用<resourcecount when="equal" count="0">来测试另一个令牌的相反条件。