What is NAntCollections?
NAntCollections is a library of NAnt tasks and functions which add the ability to use collections (namely lists and dictionaries) within NAnt scripts.


Why?
NAnt and NAntContrib provide an excellent list of features to create very
robust build scripts. However, out of the box there is no way to maintain
a collection of values except by maintaining a delimited list in a property.
This is adequate for simple cases but when it is necessary to maintain large
collections or collections of collections this quickly becomes unwieldy.
The goal of NAntCollections is to bring proper collections to NAnt.


Example
A quick example would be something like this:
  <dict-add dictionary="MyDict" key="FirstKey" value="FirstValue"/>
  <dict-add dictionary="MyDict" key="SecondKey" value="SecondValue"/>
  <dict-foreach dictionary="MyDict" key-property="_key">
    <echo message="The value of the key ${_key} is ${dict::get-value('MyDict',_key)}"/>
  </dict-foreach>



Building NAntCollections
NAntCollections is coded against the .NET Framework version 2.0.
NAntCollections can be built using Visual Studio 2005. It can also
be built using the NAntCollections.build script included with the
source code.

Using NAntCollections within NAnt scripts
In order for a NAnt script to be able to use the tasks and functions defined
in this library, NAnt must be able to locate and scan the compiled DLL.
Details on the various way to have NAnt find the library can be found in the
NAnt documentation here under "Loading custom extensions":
http://nant.sourceforge.net/release/latest/help/fundamentals/tasks.html


Copyright © 2007 Justin Kohlhepp

Last edited Jul 8, 2007 at 6:51 PM by jkohlhepp, version 10