ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jose Alberto Fernandez" <>
Subject RE: Improt task and project basedir
Date Wed, 08 Jan 2003 14:38:32 GMT
> From: Conor MacNeill []
> 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:   <>
For additional commands, e-mail: <>

View raw message