On 6/28/07, Jay Dickon Glanville <[EMAIL PROTECTED]> wrote:
Dominique,
"decoration" means "declaration" (as you can see, I rely too heavily
on a spell checker that can't read my mind...)
Because of your advice, I will reorder my patterset declarations so
that they are declared before they are referred to.
Thank you all for your help.
JDG
On 6/28/07, Dominique Devienne <[EMAIL PROTECTED]> wrote:
> On 6/28/07, Jay Dickon Glanville <[EMAIL PROTECTED]> wrote:
> > If I can ask you, and the rest of the community, for a touch more
clarification.
> >
> > In my example,
> > 01] <project basedir="." default="compile" name="example">
> > 02] <patternset id="depender">
> > 03] <patternset refid="dependee" />
> > 04] </patternset>
> > 05] <patternset id="dependee">
> > 06] </patternset>
> > 07] <target name="compile" >
> > 08] <echo>doing nothing</echo>
> > 09] </target>
> > 10] </project>
> >
> > Line 03, the reference to another patternset (one that hasn't been
> > declared yet) in essence creates it. It's initial value is probably
> > an empty set.
>
> For historical and BC reasons, id's are handled at XML parse time, not
> runtime. Your interpretation assumes runtime, which is incorrect.
> OTOH, refid's are in fact handled at runtime only.
This has changed for ant 1.7.0 - code has been placed in to
handle ids at runtime, and at the same time try to keep back-compabily
if an id is not evalualed when the id is refererenced before being declared.
>
> > Later on, on line 05 (where the patternset officially gets declared)
> > the patternset gets modified with whatever the decoration gives it.
>
> I'm not sure what you mean by decoration.
>
> > So, as long as all my patternset declarations are grouped together at
> > the top of my build file, and there are no targets interspersed,
> > everything should be fine for me.
>
> Since id's are handled at parse time, there can be some funny business...
>
> > Is my interpretation correct?
>
> Things could have changed, and Peter is the expert in these matters,
> but I encourage you to add 'meat' to your patternsets, and exercise
> them against a control set of files, to figure out for yourself.
>
> But in general, I don't think it's a good idea to use an id which
> hasn't been declared beforehand, especially given the special nature
> of id handling in Ant. You're asking for trouble ;-) --DD
This is very good advice!
Peter
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Jay Dickon Glanville
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]