I've seen a few references to copying nant-contrib dlls into the NAnt bin folder, and I'm curious why this is the (unoficially?) suggested method for including nant-contrib tasks.
 
Surely a better method would be to unzip NantContrib.zip and put it somewhere close to, but not over-the-top-of, NAnt itself, and then using the <loadtasks path=""> element to dynamically load the contrib tasks in build files that require them?  If you set an environment variable NANTCONTRIB_HOME on all computers that you are using, then you could just use the following:
    <loadtasks path="${environment::get-variable('NANTCONTRIB_HOME') + '/bin'}" />
With the above, you could run different versions of nant-contrib side-by-side, by changing the value of NANTCONTRIB_HOME before running your scripts... you could use this to test a new version of nant-contrib before deploying it, for instance.
 
As I see it, this has several benefits:
* You can upgrade NAnt without having to remember to copy the nant-contrib files back!
* The startup time for NAnt scripts not using contrib tasks would be faster, since they don't need to scan extra assemblies (minor)
* It just *feels* wrong to be copying files into the distribution of a separate product.
 
All at the expense of one extra line in (some of) your build scripts.

 
If anyone has any comments, I'm happy to discuss this.
 
-- Troy


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED]
Sent: Thursday, 17 June 2004 10:50 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: RE: [Nant-users] Problems since changing versions of NAnt...

Sorry yes, my keyboard can’t keep up with my fingers (or at least that’s my excuse!)

 

Just to clarify (sorry if you already know this).  You need to unzip the NantContrib zip and then copy everything in the NantContrib\bin folder into the NAnt\bin folder.  NAnt should then automatically pick up all the NantContrib tasks.

 

If this doesn’t work then I’m stumped.

 

Cheers,

 

Bill

  



Disclaimer Message:

This message contains confidential information and is intended only for the individual(s) named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please immediately delete it and all copies of it from your system, destroy any hard copies of it, and notify the sender. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. To the maximum extent permitted by law, Immersive Technologies Pty. Ltd. does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.

Reply via email to