> From: Conor MacNeill [mailto:[EMAIL PROTECTED]
>
> Consider then
>
> project1 ---> import project2 ---> import project3
>
> Project2 will specify project3 relative to its basedir. The
> above approach
> will, I think, load the project relative to project1's
> basedir which would
> be wrong.
>
This seem to be a not so simple issue. Should the <import> task
treat its attributes just as other task do, or should it do some
magic treatment to resolve relative filenames diferently?
I do not like to have some magic, different mechanism. I would like it
to be explicit to some extend. We already added ${basedir.<projectname>}.
Which denotes the ${basedir} for a particular project (included file).
What I would suggest is to add to import a "basedir" attribute use
to resolve its filename, whose default value would be: ${basedir.<projectname>}.
Users are allowed to change this defualt. This means that it is explicit that
<import> uses different resolution rules than any other task receiving
a File as parameter and that users can control this behaviour.
It also means that regular File attributes in tasks inside the included file
will be expanded using the global ${basedir} and not the local version of
${basedir}. Unless of course you specify a full path using either
${ant.filename.<projectname>} or ${basedir.<projectname>}.
Jose Alberto
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>