> 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]>

Reply via email to