Our current design has a top-level wrapper NAnt file that deals with source code control, particularly clean builds, and then forwards the targets, using the <nant> task, to a subsidiary NAnt file that does the actually building. The primary reason for this is so that we're absolutely guaranteed that the lower level build file, which is the one used for routine use, never, ever touches or changes the source code configuration, never deletes or updates source files, etc. That's easy to do by making sure the source code system is never called from that file.
The question is whether the calls from the top level file can be optimized. Right now, if specify "build test kit" as the targets for the top level file, that turns into three separate calls on the lower level file. And of course, the test and kit targets depend upon the build target, so the build target gets called three times instead of once. This was a perfectly reasonable architecture for make, but not for NAnt. That's not only because of all the extra logging without doing very much, but because we still can't use the NAnt solution task, and firing up three separate devenv builds is slow. The first approach that comes to my mind is to somehow have the upper level NAnt file assemble the target list, and then when all the targets have been addressed, it actually makes a single call to the lower level NAnt file. But I can't think of any way to do that within NAnt's current design. Another alternative is to partition the lower level NAnt file so that there is one project wrapper file that includes the body of the project from a separate (non-project) NAnt include file. That way both the top level and lower level files could include the same content, and then the top level could be changed to invoke the appropriate targets directly instead of through a subsidiary NAnt call, thus allowing NAnt to remove redundant target executions. This is probably easier to do right now. I'm wondering whether anyone has any other ideas for approaching this problem, short of redesigning our entire build scheme. Thanks, Gary ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Nant-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-users