I agree, from a build-script writer perspective, this is what would have
been most intuitive, IMHO. Its good to see there is a patch submitted by
Craeg addressing this problem. Is a shame for a build script writer to
use it, they need to set inheritAll to "false", and not set the "dir"
attribute.
I can see the necessity for doing this, for backward compatibility
reasons. The semantics overall with <ant> still seem a bit confusing
though.
Cheers,
David
On Monday 22 October 2001 18:14, you wrote:
> This really looks like a bug to me. After all if you really want to
> change the basedir you can always say:
>
> <ant ... >
> <param name="basedir" value="newdir" />
> </ant>
>
> which by definition should take precedence over basedir as defined in
> the buildfile.
>
> Passing "dir='somedir'" should be just a shortcut for
> "file='somedir/build.xml'" which should be equivalent to executing "ant
> -f fullpath/somedir/build.xml".
>
> Jose Alberto
> ----- Original Message -----
> From: "David Sitsky" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Sunday, October 21, 2001 10:40 PM
> Subject: Re: [PATCH] basedir for child project not set correctly from
> <ant> task
>
> > > - if you pass dir="...", that is the basedir you will get; this is
> > > documented in the <ant/> page, though it should be emphasized there
> > > that the subproject's basedir attr is ignored
> > >
> > > - (note that the default script is then ${thatdir}/build.xml--docs
> > > say default is "build.xml" but do not clarify that this is relative
> > > to the passed-in dir)
> > >
> > > - if you pass antfile="...", you can specify e.g. "zotdir/build.xml"
> > > but then the basedir is inherited from the current project (!)
> > >
> > > - you can pass both if you want
> > >
> > > As far as I can tell, there is no way to do the thing which I at
> > > least would 95% of the time want to do: run a specific build script
> > > and ask Ant to give it the basedir it specifies for itself (without
> > > hardcoding this into the calling script).
> >
> > I would have thought this is what most users would be wanting too.
> > For all of my own "nested" buildfiles, I had basedir="." and always
> > called them using the "dir" attribute in the <ant> task. I didn't
> > realise basedir in the nested task is ignored in this circumstance (my
> > fault for not reading the manual properly).
> >
> > I came across this situation, because I was calling a third-party
> > component (src/build/build.xml in their distribution) with their own
> > build file that set "../.." as their basedir.
> >
> > I find it a little odd that I need to have knowledge of a build file's
> > basedir and set it appropriately in the _calling_ buildfile in order
> > to call it properly. If the distribution build file changes their
> > basedir, it means all build files which call it also need to be
> > changed.
> >
> > Thanks for the explanation.
> >
> > Cheers,
> > David