Joe Kemp wrote:

I am developing a process to create true differential builds. My definition of a differential build is compiling only assemblies that really need to be recompiled. This requires looking at more than the datetime of the dependencies of an assembly. I need to know if any public members have changed and then signal any referring assemblies that they need to recompile. I think ant has a task <depend> that kind of accomplishes this. Has anyone tried accomplishing this with NAnt? It seems that this concept is contradictory to most build environments. Reliance on datetimes and cleaning build environments seem to be assumed the norm.

As near as I can tell from the Ant documentation, that's not what it's doing. It's determining dependencies based on whether or not a class has changed, without looking for changes that don't affect public members.

This seems like a difficult problem, requiring deep knowledge of the way the .Net compilers use the information in referenced assemblies. It's probably not as difficult as the problem for standard C/C++, but it's still hard. If you're in a situation where there's so much coupling that recompilation times are an issue, that's probably an indication that you'd be better served by refactoring your codebase to reduce the coupling.

Gary





-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to