Attached is a .zip of what I would like to check into NAnt. It was made from contents of CVS as of Thursday with some minor code changes (bug fixes) but has a somewhat different directory structure and buildfile.
I'm going to wait 2 days for feedback and unless there is anything pressing I'm going to ask SourceForge to rename the folders in CVS to make these changes while hopefully preserving our revision history. -- The goal is to restructure the NAnt CVS directory structure so that: Goals for CVS refactoring: * All you need to run NAnt is the NAnt.CoreTasks.dll and either nant.exe (console runner) or winnant.exe (gui runner). If you are building a custom runner all that you need is NAnt.CoreTasks.dll. Reduce the core to a bare minimum of tasks. Allow for different environments other than Microsoft. * Provide a way of doing configuration management (hence the master/ version/ and release/ folders * Clean up source folder into something that will last into the future. Currently the names are a bit blurred. Fixing this isn't going to get any easier. * Allow new *Tasks assemblies to be dropped in and built auto-magically so that users can easily start creating new tasks that are specific to their build environment. Proposed directory structure: // The master branch is where all development occurs. NAnt\master\ bin\ // console runner nant.exe // gui runner winnant.exe (only a suggested name) // core tasks (tasks that require only the .NET SDK and no external programs) NAnt.CoreTasks.dll NAnt.CoreTasks.xml // Tools for building C# & VB with and compiler // NUnit, NDoc tasks // .NET SDK tool wrappers NAnt.DotNetTasks.dll // This config file provides the directories to the build environment // Instead of relying on tools being in the path or env vars // This file will provide the location to use. In the case // of using the mono compiler/tools this file will be what // you edit to use. NAnt.DotNetTasks.config // Incorporates the NZipLib code into its own assembly NAnt.ZipTasks.dll doc\ ...\ reference\ source\ NAnt.CoreTasks NAnt.CoreTasks.Tests NAnt.Console NAnt.Console.Tests NAnt.Gui NAnt.Gui.Tests NAnt.Documenter // for building .NET applications // includes NDoc, NUnit, and .NET SDK tasks NAnt.DotNetTasks NAnt.DotNetTasks.Tests // incorporates NZipLib for <zip> and <unzip> // (possibly moved into NAntContrib project) NAnt.ZipTasks NAnt.ZipTasks.Tests // The version tree is used for working on specific versions. When it comes time // to make a release you branch from the master branch and start a version. // Once you are happy with the state and are ready to make a release create a label // on the version branch. Create the release and copy the files from that release // into the NAnt\release\x.x.x folder. The CVS label name should correspond with // the release name. Once a release is made it can never change. To make a change // to a release start with the version branch used to make that release, make the // change and create a new release. When applicable merge the changes back into // the master branch. NAnt\version\ 0.8\ <complete copy of the 0.8 directory tree as it is now in CVS 0.9\ <the 0.9.0 release will be done from this folder> ... NAnt\release 0.7.9\ nant-src-0.7.9.zip // what gets shown on SF notes.txt changes.txt 0.7.749\ nant-0.7.749.5625.zip notes.txt changes.txt ... You can read more about where I got this idea from here: http://www.ravenbrook.com/doc/1999/05/20/pqtcm/ I've been using this system (master/versin/release) in a number of projects now and it has been great. Gerry ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31 _______________________________________________ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers