> -----Original Message----- > From: Conor MacNeill [mailto:[EMAIL PROTECTED] > Sent: Friday, August 01, 2003 9:24 AM > To: Ant Developers List > Subject: Re: override > > On Fri, 1 Aug 2003 10:47 pm, Nicola Ken Barozzi wrote: > > How can this thing be done while shielding interactions? > > > > You make the renaming optional. > > <import file="a.xml"/> > <import file="b.xml"/> > > All of a's and b's targets go unprefixed. If those builds use targets > which > are provided by the main build, or by the other, unprefixed, import then > there is no problem. This situation thus allows the cross-interactions. We > need to decide a few issues. Is mutliple definitions of a target > considered > an error or does one definition win. If one wins, which one - the first or > the last. I prefer to have this as an error.
Me too. Should be an error, forcing the user of the imported files to explicitly resolve the conflicts, thanks to renaming. Might be a little more work, but tons more predictable, and will not surprise anyone. > > <import file="a.xml" prefix="a"/> > <import file="b.xml" prefix="b"/> > > In this case each import's targets are prefixed and thus will not collide. > Specific overriding in the build could make desired connections. > > <override target="a.init"> > <antcall target="b.init"/> > </override> > > Thoughts? I agree with Nicola Ken that using <antcall> is wasteful resource-wise, and that what it should really be is: <override target="init"> <depends target="a.init" /> <depends target="b.init" /> </override> I'm also starting to think that targets from a and b that do not conflict should *not* be renamed, and that renamed targets from a and b should not be call-able directly from the command line, but only from within the build file itself, to compose them as shown above. I already wrote about this, but I'll say again that nobody should be aware of the renaming taking place but the build file that does the importing/renaming. > > Conor --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]