--On Tuesday, November 09, 2004 7:12 AM -1000 Michael Paulding <[EMAIL PROTECTED]> wrote:

Is there a superset of modules I can test to ensure my build replicates
the nightly build?  The only downside to this approach is that to
perform a "freshStart junitAll" on all these modules is very time
consuming and a burden to productivity when performing incremental changes.

Exactly. In fact, that is one of the problems that the daily build was originally intended to solve---if a developer forgets or is not aware of a (forward) module dependency when they do their local build, the daily build will reveal that oversight immediately.


I agree with you that the conservative approach to preventing this kind of daily build failure---requiring all developers to do a build of all Hackystat modules before checkin---costs too much. Even I wouldn't want to do it. :-)

Hopefully Cedric's analysis of build failures will address (among other things) the following process question raised by your situation:

- Is 'failure due to uncaught module dependency' the underlying cause of a substantial portion of our daily build failures?

If the answer is 'no', then I would propose that we simply live with this source of build failures, and continue to do our best to think through the dependencies manually and not get too upset if we occasionally let a dependency slip through which is later caught by the daily build.

If the answer is 'yes', then I would propose that we start thinking about an extension to Ant that would fail our local build not only when we don't compile against a 'prior' module in the dependency chain (which is what happens now) but also when we don't compile against a 'forward' module in the dependency chain. That would be a way to lower the daily build failure rate, yet not require the overly expensive and inherently unscalable approach of recompiling against every module in Hackystat.

Does this seem reasonable?

Cheers,
Philip












Reply via email to