Good Advice from the Employees at Lexmark!
I found java.util.regex package is quite useful for regular expression matching
..here is a simple example you can use
java.util.regex.Pattern p = java.util.regex.Pattern.compile("a*b");
java.util.regex.Matcher m = p.matcher("aaaaab");
boolean b = m.matches();Information available at
http://docs.oracle.com/javase/6/docs/api/
if brevity is your strength you may consider combining java.util.Pattern and
Matcher in a one line statement such as
boolean b = Pattern.matches("a*b", "aaaaab");Then create your custom taskdef
with a Class which extends org.apache.tools.ant.Task
http://ant.apache.org/manual/develop.html
HTH
Martin
______________________________________________
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger
sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung
oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem
Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung.
Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung
fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le
destinataire prévu, nous te demandons avec bonté que pour satisfaire informez
l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est
interdite. Ce message sert à l'information seulement et n'aura pas n'importe
quel effet légalement obligatoire. Étant donné que les email peuvent facilement
être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité
pour le contenu fourni.
> Date: Thu, 16 Aug 2012 07:51:39 -0400
> Subject: Re: Trying to execute 'grep'
> From: [email protected]
> To: [email protected]
>
> Jeff,
> You might be able to do this natively within ant
>
> This is how it could work for a single file:
> <target name="test-failure-check">
> <local name="error.found"/>
> <loadfile property="error.found"
> srcfile="${home.dir}/runtime/logs/test-results/file.xml">
> <filterchain>
> <linecontainsregexp>
> <regexp pattern="failure"/>
> </linecontainsregexp>
> </filterchain>
> </loadfile>
> <fail message="Unit test failure(s)" unless="error.found"/>
> </target>
>
> Doing this this with *.xml is left as an exercise for the reader :-)
>
> Harold
>
> On Wed, Aug 15, 2012 at 6:56 PM, Jeff Lowery <[email protected]>wrote:
>
> > Have the following target:
> >
> > <target name="test-failure-check">
> > <exec executable="grep">
> > <arg line="failure
> > ${home.dir}/runtime/logs/test-results/*.xml" />
> > <redirector outputproperty="grep.out" />
> > </exec>
> > <echo message="grep.out='${grep.out}'" />
> >
> > <fail message="Unit test failure(s)">
> > <condition>
> > <not>
> > <equals arg1="${grep.out}" arg2=""
> > />
> > </not>
> > </condition>
> > </fail>
> > </target>
> >
> > and getting the following echo:
> >
> > [echo] grep.out='grep:
> > /Users/jeff.l/Documents/workspace/homedir/runtime/logs/test-results/*.xml:
> > No such file or directory'
> >
> > yet if I execute "grep failure
> > /Users/jeff.l/Documents/workspace/homedir/runtime/logs/test-results/*.xml",
> > from the command line, I get results back.
> >
> >
> > -- Jeff
> >
> >
> >
> >
>
>
> --
> Harold PUTMAN
> Web Technology Specialist
> *Lexmark International, Inc. <http://www.lexmark.com>*
> 740 W New Circle Rd.
> Lexington, KY 40550
> +1(859) 232-2839
> [email protected]