[For some reason this bounced last night... Trying again.]

Hi Kelly,

Don't worry - I don't think anyone will take your comments as Nant
bashing.

I would also agree that the general impression reading the "marketing"
is that Nant (and Ant, on which it is based) is a better "make".

I think the problem is with your definition of "better". If you are
looking for something that will accomplish a build in the fastest
possible time, then Make (or some other build tools) may still be a
better choice for you than Nant. If you are looking for something that
will faithfully perform all necessary steps to reach your eventual goal,
then Nant, MSBuild or a simple script may make more sense depending on
your system environment.

You could look at Nant as a replacement for shell scripting (or batch
files), but it does have some significant advantages:

1) Like make, it has the concept of dependencies (although they are at
the "target" level), and will faithfully reproduce the appropriate
targets in the most sensible order. Try doing that with basic shell
scripting. :-)
2) Because it uses "tasks" instead of hard coded executables, the build
scripts are (theoretically) cross platform. In addition, you should not
need to recode your build scripts just because release 3 of product X
takes its command line parameters in a different format. Instead the
modifications occur in one place (the task itself).
3) The tasks can be optimized for the specific operation they perform.
4) The strongly-typed nature of the script reduces the chance that a
typographical error will go undetected. (The difference between "-0
somefile.txt" and "-O somefile.txt" may not be easy to spot depending on
your font settings, but a tag like <output> would either validate
against the schema, or not.

I hope this helps to answer your question.
Regards,
Richard

-----Original Message-----
From: Anderson, Kelly [mailto:[EMAIL PROTECTED] 
Sent: Thursday, September 15, 2005 16:47
To: Foster, Richard - PAL
Subject: RE: [Nant-users] Build target from command line without
dependencies

This is NOT a NAnt bash. I am NOT complaining. I am trying to gain
insight into NAnt.

All of the "marketing" for NAnt seems to indicate that it is a
replacement for make.

My experience thus far with it (and I am admittedly something of a
newbie) is that it is more accurately a replacement for shell scripting.

Sure, you CAN write a make system with a shell script, but the beauty of
make was that the dependency checking was implicit and built in. It
seems with NAnt that you have to add the dependency checking explicitly.


So the question is, are there implicit dependency checks in NAnt, or do
you always have to explicitly do dependency checking?

I understand that specific tasks, like <solution> can and do have
implicit dependency checking within them. I'm talking about NAnt itself.

BTW, <uptodate> is very cool, I hadn't seen it before. So thanks for the
pointer Richard. But it doesn't change the observation that NAnt is more
like shell scripts and less like make.

A full build can easily be done by invoking a "clean" target first... so
I don't see that as an issue one way or the other.

I guess the complaint, if there is one, is that it seems NAnt is being
marketed as if it were something that it isn't really... comments?

-Kelly 

-----Original Message-----
From: Foster, Richard - PAL [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 15, 2005 10:21 AM
To: Anderson, Kelly
Subject: RE: [Nant-users] Build target from command line without
dependencies

Kelly,

Depending on your situation, you might actually want to rebuild (even if
it wasn't strictly necessary) to ensure that a full build is (still)
possible. (Say, for example, if you are using the Nant script as part of
a continuous integration setup).

If you didn't want to rebuild things, you could always put an <uptodate>
check in your script.

Regards,
Richard






E-Mail messages may contain viruses, worms, or other malicious code. By
reading the message and opening any attachments, the recipient accepts
full responsibility for taking protective action against such code.
Sender is not liable for any loss or damage arising from this message.

The information in this e-mail is confidential and may be legally
privileged. It is intended solely for the addressee(s). Access to this
e-mail by anyone else is unauthorized.



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to