Giscard Biamby wrote:

Warning you now tha this will be a very long email, but I
...[long email elided]...

This question mixes together issues that relate to the source control system, issues that relate to versioning software, and issues that relate to the build. I started to respond in more detail, when I realized that there's a basic point omitted from your analysis: You absolutely must have the ability to build just pieces of the system. Once you have that ability, the issues that you raise here diminish in importance, because it becomes very easy to change the organization any way you want. If you have a top-level NAnt build file, where the main build-all target just has a bunch of subordinate <nant> tasks, it's easy enough to change their location.

Another thing that seems to be missing is the idea of generating the version number for your binaries at build time. For .Net code, the NAnt <asminfo> task can make this easy. This solves the problem of knowing which version of the source generated which version of the binaries. Beyond that, I suggest working from the bottom up, creating individual NAnt build files for each component, with command line properties used to parameterize them. Look for opportunities to factor out common tasks into shared NAnt build or include files. As you work your way up, you'll get a better idea of whether or not you need to do everything in one tree, what the performance costs will be, etc. Let your decisions be driven primarily by what people need, with an eye towards flexibility, and not what seems to fit the configuration at first crack. If no one needs to have a single version number for the entire system, then you don't need to worry about it. If two projects seem to have a lot of dependencies, that suggests that maybe they should be one project, but not that all of the projects should be one project.
Gary




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to