gump-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam R. B. Jack" <>
Subject Building from the repository (when builds fail)
Date Wed, 18 Aug 2004 16:17:13 GMT
Ok, it is time to get Gump using artifacts from it's repository when a build fails, so we get
(over time, one hopes) far greater (if fuzzy) coverage. This means that if project X is a
dependency of Y, and X built yesterday, but not today, Y will be built on yesterday's X. Is
this perfect? No. Is this potentially benefitial? Yes ... (1) to help Y find problems with
Z or with itself (2) 'cos X breaking (due to itself or A) might not affect Y, and when X is
fixed, Y will still get tested. Basically, no harm no foul ... and potential upside. That's
the hope.

I've create 'live' and (with Leo's and Stefano's help) move trunk into it, so we get a 'more
stable' version to run public Gump upon. Now I can happily work on trunk, break the heck out
of things (as I might, this seemed simple, but it has ramifications) and only 'trunk' users
will break, named 'test'. At least, that is the theory...

So, here are the steps:

1) Be able to get group X's artifacts from the repository, get the latest by date, and map
to jars (by id). Since we publish to the repository using {id}-gump-}DATE}.{extn} that was
trivial. Done.

2) Be able to clean the repo. Doing next 'cos easy, leaving only the newest dated files.

3) If state is 'prerequisite failed' -- ignore it, and attempt to build a project anyway.
If the CLASSPATH fails to build ('cos stuff not in the repository yet) fail this, and leave
it as prerequisite failed. Daft but true, but this is the tricky part ... I've thought of
too many permutations of state changes/propogations, and I'm going to punt for now. We'll
determine 'fuzziness' (i.e. built on stale contents) later, and annotate somehow.

4) If the artifacts aren't found in the local repository use Depot to download them. This
will enable personal Gumps to cascade from upstream Gumps. This is pretty easy, but (3) is
the priority.



Have you Gump'ed your code today?

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message