RE: [nant-dev] Rational behind not supporting basedir?
Hmm, is there any way to share script between Ant and NAnt and still using proprietary features of both? something like conditionals? Maybe this could be solution. If not, propably both teams would be needed to code it... somehing like: target name=clean delete dir=${output.dir} failonerror=false if=${directory::exists(output.dir)}/ delete dir=${tests.dir} failonerror=false if=${directory::exists(tests.dir)}/ !--#if NAnt085-- loadtasks assembly=${tools.dir}\Gordic.Develop.NAnt.dll/ !--#endif-- !--#if Ant123-- ant buildfile=${src.dir}/Extras/BuildServer/clean.build unless=${debug} / !--#endif-- /target (or use of PI ?if ?) Just an idea, Martin Aliger -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gert Driesen Sent: Wednesday, June 29, 2005 9:40 PM To: 'Shawn Oster' Cc: nant-developers@lists.sourceforge.net Subject: RE: [nant-dev] Rational behind not supporting basedir? -Original Message- From: Shawn Oster [mailto:[EMAIL PROTECTED] Sent: woensdag 29 juni 2005 21:20 To: Gert Driesen Subject: Re: [nant-dev] Rational behind not supporting basedir? On 6/29/05, Gert Driesen [EMAIL PROTECTED] wrote: -Original Message- I'm curious what the rational is behind not supporting the standard basedir attribute of the project element? I have quite a few maintenance scripts that I use to not only build source but also do sysadmin type functions on my machine and all of them use basedir in some way. In exploring NAnt every single one of them fails with a basedir property not defined error. We do support the basedir attribute of the project element. We just don't support the basedir property. Ahh pity. From an academic, developer to developer point of view I'm curious why that decision was made. I'm just wondering because obviously that's a big decision since many existing Ant scripts use ${basedir} as a property and it must have been a conscious decision to break the interface. Obviously a lot of thought must go into each decision that breaks simple compatibility with the original Ant since by the nature of calling it NAnt it implies a certain compatibility. At some point I'm sure someone said, Ok, Ant does it this way but I don't think NAnt should because (fill in blank) It's that fill in the blank part I'm after. I definitely agree that compatibility with Ant would've been nice. However, I wasn't involved in NAnt when some of these decision were made. You should either use the project::get-base-directory() or the nant.project.basedir property Thanks for the advice but I think I'll stick with Ant. Too many scripts use ${basedir} and I don't want to convert all of those that do to use the NAnt proprietary project::get-base-directory() or nant.project.basedir. We share these admin-style scripts and I don't want to force others to use nant just to work around this issue. I understand. I appreciate your feedback anyway. Gert --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Rational behind not supporting basedir?
Gert Driesen wrote: don't support the basedir property. Ahh pity. From an academic, developer to developer point of view I'm curious why that decision was made. I'm just wondering because obviously that's a big decision since many existing Ant scripts use ${basedir} as a property and it must have been a conscious decision to break the interface. Obviously a lot of thought must go into each decision that breaks simple compatibility with the original Ant since by the nature of calling it NAnt it implies a certain compatibility. At some point I'm sure someone said, Ok, Ant does it this way but I don't think NAnt should because (fill in blank) It's that fill in the blank part I'm after. I definitely agree that compatibility with Ant would've been nice. However, I wasn't involved in NAnt when some of these decision were made. come on - you can find a better example of incompatability than this one :) . basedir vs nant.project.basedir is hardly a huge difference and as far as I'm aware this is the first time this has been brought up as an issue. If it had been that important to a majority of NAnt users then it surely would have been changed years ago. You should either use the project::get-base-directory() or the nant.project.basedir property Thanks for the advice but I think I'll stick with Ant. Too many scripts use ${basedir} and I don't want to convert all of those that do to use the NAnt proprietary project::get-base-directory() or nant.project.basedir. We share these admin-style scripts and I don't want to force others to use nant just to work around this issue. Proprietry ? its not proprietary its just different. In the online docs there is a section for Ant Users which says : If you have used Ant before than NAnt should feel comfortable but NAnt is only compatible with Ant in spirit. - ie its not meant to be an exact clone of Ant. However on a more positive note - its easy enough to add a basedir property thats an alias for project::get-base-directory(). Just add the following property definition to NAnt.exe.config ... from line 1095 or so properties !-- properties defined here are accessible to all build files -- !-- property name=foo value = bar readonly=false / -- property name=basedir value = ${project::get-base-directory()} readonly=false / /properties /nant ... and the basedir property will become available to all scripts. Of course you'd need to make this change in NAnt.exe.config on every developers machine but thats less work than changing all your buil scripts. Ian --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Rational behind not supporting basedir?
On 6/30/05, Martin Aliger [EMAIL PROTECTED] wrote: Hmm, is there any way to share script between Ant and NAnt and still using proprietary features of both? something like conditionals? Maybe this could be solution. If not, propably both teams would be needed to code it... Ant and NAnt are currently fundamentally un-interoperable, if only because Ant tests (if/unless) are based on property existence, while NAnt tests are based on evaluation to 'true'. And as Ian mentioned, that's just one source-level incompatibility... there are plenty more! But that being said, I'm not sure what the goal of interoperability of scripts between Ant and NAnt is. That sounds like asking for source-code interoperability between C# and Java... sure it might be nice in a couple of cases, but however similar the structure of the language they each have their own exclusive constructs and foibles. Or to put it a different way, it just doesn't make sense :-) What's wrong with using Ant to run Ant scripts, and using NAnt to run NAnt scripts? If you have a situation which Ant can deal with but NAnt can't, then use Ant... and vice versa. The only reason I can think of to try to run an Ant script in NAnt is to port it across because there is a feature in NAnt that you want to take advantage of... but by definition, this feature is not available in Ant so interoperability is impossible. Is there some other reason that I'm missing? -- Troy --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_idt77alloc_id492op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Rational behind not supporting basedir?
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shawn Oster Sent: woensdag 29 juni 2005 20:22 To: nant-developers@lists.sourceforge.net Subject: [nant-dev] Rational behind not supporting basedir? Just posted this over in the users list but this seems more like a dev question. I'm curious what the rational is behind not supporting the standard basedir attribute of the project element? I have quite a few maintenance scripts that I use to not only build source but also do sysadmin type functions on my machine and all of them use basedir in some way. In exploring NAnt every single one of them fails with a basedir property not defined error. We do support the basedir attribute of the project element. We just don't support the basedir property. You should either use the project::get-base-directory() or the nant.project.basedir property Eg. echo message=base dir = ${project::get-base-directory()} / echo message=base dir = ${nant.project.basedir} / Perhaps this is still on the todo list since NAnt is still beta (not yet at a 1.0 release)? We're not planning on introducing a basedir property, as you can use one of the alternatives mentioned above. Gert --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Rational behind not supporting basedir?
-Original Message- From: Shawn Oster [mailto:[EMAIL PROTECTED] Sent: woensdag 29 juni 2005 21:20 To: Gert Driesen Subject: Re: [nant-dev] Rational behind not supporting basedir? On 6/29/05, Gert Driesen [EMAIL PROTECTED] wrote: -Original Message- I'm curious what the rational is behind not supporting the standard basedir attribute of the project element? I have quite a few maintenance scripts that I use to not only build source but also do sysadmin type functions on my machine and all of them use basedir in some way. In exploring NAnt every single one of them fails with a basedir property not defined error. We do support the basedir attribute of the project element. We just don't support the basedir property. Ahh pity. From an academic, developer to developer point of view I'm curious why that decision was made. I'm just wondering because obviously that's a big decision since many existing Ant scripts use ${basedir} as a property and it must have been a conscious decision to break the interface. Obviously a lot of thought must go into each decision that breaks simple compatibility with the original Ant since by the nature of calling it NAnt it implies a certain compatibility. At some point I'm sure someone said, Ok, Ant does it this way but I don't think NAnt should because (fill in blank) It's that fill in the blank part I'm after. I definitely agree that compatibility with Ant would've been nice. However, I wasn't involved in NAnt when some of these decision were made. You should either use the project::get-base-directory() or the nant.project.basedir property Thanks for the advice but I think I'll stick with Ant. Too many scripts use ${basedir} and I don't want to convert all of those that do to use the NAnt proprietary project::get-base-directory() or nant.project.basedir. We share these admin-style scripts and I don't want to force others to use nant just to work around this issue. I understand. I appreciate your feedback anyway. Gert --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers