ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lionel van den Berg" <lion...@gmail.com>
Subject Re: Ant uptodate?
Date Tue, 11 Sep 2007 00:11:00 GMT
Thanks for all the input. For the time being the following (slight adaption
of Peter's first suggestion) suits my needs - near enough anyway.


<target name="generate">
    <mkdir dir="${generate.dir}"/>
    <outofdate>
      <sourcefiles>
        <fileset dir="${grammar.dir}" includes="**/*.grammar"/>
      </sourcefiles>
      <targetfiles path="${generate.dir}/ADirectory/parser/Parser.dat"/>
      <sequential>
        <sablecc src="${grammar.dir}" outputdirectory="${generate.dir
}"></sablecc>
      </sequential>
    </outofdate>
  </target>

Lionel.


On 10/09/2007, Peter Reilly <peter.kitt.reilly@gmail.com> wrote:
>
> with current ant it is difficult to do exactly what you want,
> I normally do the following:
> Pick a file that Sablecc allways changes when it
> is run - ${targetdir}/lexer/Lex.java for example.
> Use ant-contrib's outofdate task.
> <ac:outofdate>
>    <sourcefiles path="${grammer.file}"/>
>    <targetfiles   path="${targetdir}/lexer/Lex.java"/>
>    <sequential>
>       <sablecc grammer="${grammer.file}" targetdir="${targetdir}"/>
>    </sequential>
> </ac:outofdate>
>
> Ant 1.7.1 is adding in a "erroronmissingdir" attribute to filesets, this
> means that one can do:
>
> <ac:outofdate>
>    <sourcefiles path="${grammer.file}"/>
>    <targetfiles>
>         <path path="${targetdir}"/>
>         <fileset dir=${targetdir}" erroronmissingdir="false"
> includes="**/*.java"/>
>    </targetfiles>
>    <sequential>
>       <sablecc  grammer="${grammer.file}" targetdir="${targetdir}"/>
>    </sequential>
> </ac:outofdate>
>
> which is more what you want.
> Peter
>
> On 9/10/07, Jan.Materne@rzf.fin-nrw.de <Jan.Materne@rzf.fin-nrw.de> wrote:
> > You can set a property if a file/directory does (not) exist using
> > <available> and <available> in combination with <condition>, <not>.
> >
> > The "changed" files you maybe could check with <condition> and
> <isfileselected>
> > in combination with <date> selector or <modified> selector.
> >
> >
> > Jan
> >
> > >-----Urspr√ľngliche Nachricht-----
> > >Von: Lionel van den Berg [mailto:lionelv@gmail.com]
> > >Gesendet: Montag, 10. September 2007 00:46
> > >An: user@ant.apache.org
> > >Betreff: Ant uptodate?
> > >
> > >Hi all,
> > >
> > >I sent two other emails but I don't think they went through.
> > >
> > >I've tried using the ant uptodate and dependset tasks but
> > >haven't solved my
> > >problem. I've googled, tried heaps of solutions but still
> > >can't do it, so
> > >here is the problem:
> > >
> > >Assume for each of the following we are in a base directory. I have:
> > >
> > >grammar/*.grammar files.
> > >
> > >From a *.grammar file Sablecc will generate .java files (and some .dat
> > >files) in:
> > >
> > >src/*/analysis/
> > >src/*/lexer/
> > >src/*/node/
> > >src/*/parser/
> > >
> > >
> > >When my Ant script is run, src/ may or may not exist.
> > >
> > >What I want to do is just set a property if either src/ does
> > >not exist or
> > >any of the files in any of files in grammar/ have been
> > >modified after any of
> > >the files in the subdirectories of src/.
> > >
> > >Can someone please help me? It seems that this should be fairly simple.
> > >
> > >Thanks
> > >
> > >Lionel.
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message