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