NUnit, NDoc, NAnt, Draco.net

To continue on this topic:

My immediate problem has been to provide a nightlybuild process for an ongoing, fairly large project.  Currently their are >250 assemblies each built with their own .csproj file and ~20 developers/analyst/programmers.  The project also isn't partitioned very well - there are a lot of dependencies.   It is common for a change in one "base" library to effect a dozen other assemblies.  The nightlybuild needs to rebuild the entire application each night.

I have been reading the MS document "Team Development with Visual Studio .NET and Visual Source Safe" http://www.microsoft.com/downloads/details.aspx?familyid=94fdb8c8-5a87-4545-af75-6053f32c7eca&displaylang=en and have downloaded the MS BuiltIt tool ( http://microsoft.com/downloads/details.aspx?FamilyId=B32497B0-77F7-4831-9C55-58BF3962163E&displaylang=en  )- mostly to look at the documentation.

It is impossible to provide the MS "single solution model".  Even creating a solution with subsets of 20 or 30 projects is difficult.  We do use a common project/VSS structure: $\Application\Project1 maps to c:\Application\Project1.  I created an xml file (changing to a database) that lists the projects and where to get them from VSS.  My process first gets all these projects, then builds a dependency graph from the .csproj files.  I also create nmake compatible makefiles from the .csproj files and other app requiremnts.  I then run nmake in build order on all the projects.  The VSS get takes about 25 minutes, and the build takes an additional 20 minutes.  A complete build takes about 45 minutes.  The complete build normally happens only at night so who cares ...

There are a bunch of other tools for "bless", build verification testing and deployment.

Nant comes in during the last step.  I go to a fair amount of work to create a makefile.  I include a standard master.mak from MS example projects but have a lot of special cases.  I still haven't figured out how to add ComponentOne webchart control licensing.  Using lc.exe and embedding the resultant .licenses file doesn't seem to work but that's on my "todo" list.

I want to replace this part with Nant.  I have an xslt file that will convert .csproj files to NAnt .build files but will have to modify it some. Not very familiar with xslt but I can learn.  Using Nant would give me the advantage of relying on others to supply the tools to do the actual project builds.  There is good support and I really hate supporting this part.

The last piece that I use is "stolen" from Draco.net ( http://draconet.sourceforge.net/  ).  I really like this project, but didn't really see it as useful on this project, by itself.  It would be nice to start an application with the build and testing tools in mind but ...

The part I took was a piece that goes to VSS and finds the changes since the last build and produces a web page.  This has been very useful and required very little change. 

 

Published Wednesday, March 05, 2003 9:41 AM by cloudycity

Comments

# re: NUnit, NDoc, NAnt, Draco.net

"Nant comes in during the last step. I go to a fair amount of work to create a makefile. I include a standard master.mak from MS example projects but have a lot of special cases. I still haven't figured out how to add ComponentOne webchart control licensing. Using lc.exe and embedding the resultant .licenses file doesn't seem to work but that's on my "todo" list.

"

Did you ever get this working?

greg@cds-am.net

Friday, May 21, 2004 2:48 PM by Greg Robinson

Leave a Comment

(required) 
(required) 
(optional)
(required)