NAnt is a
BuildProcess tool for
MicrosoftDotNet, based upon
ApacheAnt. NAnt includes support for
NdocTool and
NunitFramework.
NAnt is probably the most popular open build language for the
MicrosoftDotNet platform, though the pure
VisualStudio IDE and the Nmake clone of make it also ships with (see
UsingNmake). The pre-announcement of
MicrosoftBuild puts a cloud over its future, though as it also runs on the
MonoProject, it has a future.
ApacheAnt's support for
MicrosoftDotNet projects is more limited, which implies that combination is less popular.
It's not very good. Poke around the Nant wiki and see for yourself, or download and try it. Then try
SconsBuildTool. You'll get your stuff working much faster.
SconsBuildTool is great for
DotNet.
I think
ApacheAnt and
NantTool are really poor at what they do. It's about the worst use of
ExtensibleMarkupLanguage I have seen. It's a real drag to edit and maintain these files. They are convoluted, and rather than lying on top of XML, they intertwine. They have horrible macro expansions in attributes and weird structures. But hey, they are in XML. That must be good.
For
DotNet, SConsTool is much easier to get working and is better supported.
-If you think that macro expansions in text elements is horrible, then so is XPath, XML Schema and many other XML extension specifications. The nice thing about XML based languages is that the XML toolchain can work with them, as well as humans. Now, machines may have the upper hand in terms of legibility, but that is XML for you. If you think
ApacheAnt and
NantTool are the worst uses of
ExtensibleMarkupLanguage, please take a look at the XML output of MSWord. That isn't even easily machine readable.
Note that the Ant team reguarly gets complaints about 1. Ant not handling double dashes -- in comments, 2. Bad handling of foreign characters in XML files not declaring their encoding to be other than UTF-8 and 3, whitespace sensitive inside tasks. (1) and (2) are actually requirements of XML; whitespace sensitivity is something deliberately retained for better output formatting. Yet judging by the frequency of these complaints, users do have issues with XML. It's hard to blame Ant, Nant and soon MSBuild for this -only by moving to a non-XML syntax do you improve authorability. --
SteveLoughran.
DracoDotNet and
CruiseControlNet provide
ContinuousIntegration for NAnt builds.
CategoryDotNet CategorySoftwareTool CategoryAnt