ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dominique Devienne <ddevie...@gmail.com>
Subject Re: trying to grep in file for a certain string
Date Mon, 21 Nov 2005 17:06:46 GMT
> I am trying to check if a file called TestSummary.txt does NOT contains the string "Number
of failures = 0".
> If it does not contain "Number of failures = 0" then I need to set a property called
test.status.failed.
> When I try to test the ant script below I get:

<fileset> indeed doesn't support nested conditions, but selectors instead.

Use <loadfile> to put the file (or part of it as I do below) into a
property, and then simply test it with an <equals> condition to set
another property in a <condition>.

        <loadfile property="@{property}" failonerror="false" srcfile="@{file}">
          <filterchain>
            <!-- Consider only the last 10 lines of the file, -->
            <tailfilter />
            <!-- looking for a integer then a user-defined pattern, -->
            <linecontainsregexp>
              <regexp pattern="^\d+ @{pattern}" />
            </linecontainsregexp>
            <!-- and keep only the integer from these (unique) lines, -->
            <tokenfilter>
              <replaceregex pattern="(\d+) @{pattern}.*" replace="\1" />
            </tokenfilter>
            <!-- concatenating these lines (should be only one). -->
            <striplinebreaks/>
          </filterchain>
        </loadfile>
        <property name="@{property}" value="@{default}" />

PS: This code was part of a macrodef. Ignore the @{foo} syntax.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message