We have set up an environment where we can conditionally rebuild components, if they've changed without having to rebuild the entire system. Doing so requires careful management of dependencies. If an interface or common datatype changes, then you pretty much need to rebuild everything. But if the changes are localized to a DLL then you can rebuild it independently.
In our system we look at the *modifications.xml* file that is output by CruiseControl. If it contains only changes to a single component then we only rebuild that component; otherwise we build everything. Unfortunately the vast majority of the changes are to more than just a component. To overcome this and avoid a 2 hour build, we've engineered our system into assembly systems which are small enough to build quickly (10 min max), but large enough so that we only have a few of them. They are layered and independently versioned. Changes at the top or application layer are the most common and only require a rebuild of that assembly system. Changes at the bottom or core layer are the least common and require a rebuild of everything above it. Hope that helps. Chris. --- X Continuous improvement is better than delayed perfection. - Mark Twain On Tue, Aug 9, 2011 at 8:36 AM, Macdiarmid, James D. < james.d.macdiar...@saic.com> wrote: > ** > > I’m still a bit green with Nant scripting. I have a build script that has > one main target, and a ton of calls to other targets. During the build > process, I’m building a client GUI, Mid Tier piece and a web service p > iece. At the start of the build process, there are calls to targets that > pull tickets and change sets from TFS that are ready for a daily build > process then writes them to a file to be included in a final report at the > end of the build. There are a few other things that take place but my > main concern is that if my build breaks anywhere thereafter it adds > additional time to the build. Right now the whole build process takes > roughly 2 hours to complete and builds both .NET and VB6 code. I’d like > to be able to be able to set something in the script as a conditional and > only rebuild or rerun a portion of the build process. > > Has anyone done anything such as this? > > Thank you for your time and I look forward to hearing your replies. > > Jim > > > ------------------------------------------------------------------------------ > uberSVN's rich system and user administration capabilities and model > configuration take the hassle out of deploying and managing Subversion and > the tools developers use with it. Learn more about uberSVN and get a free > download at: http://p.sf.net/sfu/wandisco-dev2dev > > _______________________________________________ > NAnt-users mailing list > NAnt-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nant-users > >
------------------------------------------------------------------------------ uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________ NAnt-users mailing list NAnt-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users