Scott,

I introduced NANT into our development group about a month ago, and we now
depend on it heavily.  It's an excellent tool, and a pleasure to use.  The
truth is, I got sick of the .NET IDE's poor command-line build support, and
its intermittent crashes that made "continuous integration" unattainable.

In the spirit of constructive criticism, I hope you won't mind me sharing a
few issues I've seen with NANT:

A common task is to run a build and email the log.  Obviously there's a
chicken and egg problem here. Do run the build, I use a batch file to run
the nant build and then use blat to email the results.  Is there a way that
NANT could encapsulate this?

0.7.9 does not contain the ability to generate merge modules and msi files.
For these, I still need to call devenv from the NANT build script.

One obvious consideration for going to NANT is how to manage your project
container artifacts (project files and solutions).  It can be tedious to
manage both csproj and build files.  To get around this, we use an xsl
transform to convert csproj to build files.  But to do this, I have to use
msxsl.exe, because the <style> tag requires the source file to be
writable(!).

We also considered going to nmake, but I pushed for NANT because the Xml
format is much better than nmake format.  I'm loath to run a later version
of NANT because the code is sometimes incomplete and documentation scarce.
I use the task docs on the website a lot, and later versions are not
supported there.

Another small problem I have with NANT (I use 0.7.9) is that it seems a bit
slow.  One of our projects that includes 180 files often takes 5 seconds to
verify, even if it is not being compiled.

Overall, I find NANT absolutely necessary for building a large number of
projects, and highly recommend it.  We started by trying Microsoft's
recommendations for building with partitioned solutions, but did not find
these terribly practical.  We now have over 150 interdependent projects
building reliably with NANT.

I hope you find these comments helpful

Bruce

-----Original Message-----
From: Scott Hernandez [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 05, 2003 3:56 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: [Nant-users] Advantages of NAnt


Hey all,

Yep, and one of the things that irks me about vs.net is its placement of
various temp directories. It always creates obj dirs in the most random
places (and I can't get rid of them since it locks the files).

BTW. There is a VS.Net addin for doing pre/post build events that let you
run programs or macros. But NAnt is much more than that.

We also support things that VS.Net doesn't. But lets be clear. VS.Net is
development environment, and not really a real build environment; tho it
does build the current code you are working on. NAnt is a build environment,
and not a development environment at all. The best option in my mind would
be to use VS.Net as an editor( and you have more options than that), and
NAnt to do the builds.

The short of it is, can VS.Net copy files around your filesystem? Well, not
really, but NAnt can. That doesn't make NAnt better, just more geared
towards a build tool than VS.Net. But hey, take a look and see what you
think. For very simple projects, where you are already using VS.Net, there
is probably no reason to use NAnt. But if you don't have VS.Net, there are a
whole lot of reason to use NAnt. And when your build gets more complicated,
there are a whole lot of reasons to use a more full-featured build tool.

Here are a few examples:

---) You want to build multiple versions/flavors of your product
---) You have a large number of inter-dependant projects (assemblies) to
build.
---) You want to build multiple source language projects (like 2 vb.net, 2
managed c++, and hand-full of c#) and zip them up.
---) You need to build a signed and unsigned version together
---) You plan on scp'n them up to another server
---) You want some additional logic in your build process
---) You want to do unit testing before you call a build good. :)
---) You need to run a custom program to generate some of your code and you
want to validate it first.
---) You need to download a file from the internet to do your build.
---) You lika da juice... I could go on...

What are your favorite reasons to use NAnt?

----- Original Message -----
From: "Jeffrey McManus" <[EMAIL PROTECTED]>
Subject: [Nant-users] Advantages of NAnt

> Kishore,
>
> You're correct that you can build a complicated
> project just fine in Visual Studio .NET. NAnt gives
> you significant new capabilities at very little cost.
> When you build using NAnt, you can:
>
>  - Kick off calls to external processes (such as
> email, the file system, or an automated unit testing
> system like NUnit)
>  - Kick off your build from a centrally-managed
> location (i.e., a server) so the "one true" version of
> your build resides in one and only one location
>  - Build your software on any machine regardless of
> the presence of Visual Studio .NET
>
> I'm sure that others could come up with additional
> benefits but these are the main ones that impact me
> today.
>
> -Jeffrey
> From: Kishore Chaliparambil <[EMAIL PROTECTED]>
> Can someone tell me what is the advantage of using
> Nant to build the assemblies rather than using the
> devenv.com using the he solution file.
>
> I can see that it is helpful if one does not have
> Visual Studio.NET. But are there any other advantages.
>
> Any information will be helpful because We are trying
> to figure out the best way to build the assemblies.



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to