You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Stefano Mazzocchi <st...@apache.org> on 2006/03/16 19:07:59 UTC
Dr. Strangebuild or: How I learned to stop worrying and love Gump
Mark Hindess wrote:
> Stefano,
>
> I don't really know much about gump but I'm interested to learn a
> little more about it.
Gump is the, citing Leo, the "most misunderstood piece of software ever".
On the surface, Gump is a nightly build system: it reads a bunch of xml
files that tell it where the various cvs or svn repositories are,
fetches them and builds them.
No biggy so far. Projects like Continuum, Tinderbox and probably your
own build system that you wrote years ago for your own project work like
this too, with more or less sophistication, with more or less simplicity
of interaction, with more or less detailed of report, with more or less
frequency and continuous operation.
Gump does something a little weird here: if project A depends on library
B version 2.0, gump takes project B (from trunk!), builds that and uses
that to build A instead of using the version that project A advertises
it needs.
Normally, it fails.
It's at this point that people start scratching their heads: why would I
want that? I'll deal with the next version of that library once the time
comes, why bother now?
Well, Gump was conceived, written and first maintained for years by Sam
(Ruby) [another one of the mentors of this project, FYI]. Sam described
it as a "social experiment": Gump is not supposed to tell you if your
project builds or not, but it's supposed to tell you if *your* changes
broke somebody that depended on them!
It's supposed to make you want to talk to people on other projects.
In 6 years of operation, we had *2* perfect gump runs. yes, 2, out of
probably 6(years) * 356(days) * 3(times a day) * 3(machines) * 3(virtual
machines) runs.
But success stories for Gump are not reaching 100%, but telling project
A that their apparently harmless single-line API deprecation caused 35%
of 900 projects to fail! This is the kind of knowledge that no other
system will be able to emerge for you!
Gump is also written in python, therefore JVM-independent and is used to
build not only java projects (like APR and HTTPD).
Today gump run is at 75% success using JVM 1.5 and 20% using Kaffe +
Classpath.
The ASF runs gump on its own virtual box at
http://vmgump.apache.org/
for more info about the project see
http://gump.apache.org/
WARNING: gump is far from being perfect and a new generation (gump3) has
been in the making forever [and this is why both Leo and I got a real
day job and stopped working on it]. We also had a summer-of-code student
working on the dynamic web application interface for dynagump and
continuing that work is in my light-year-long todo list.
I'm secretly hoping to get this project to make me itch my old gump
scars enough to start scratching again.
NOTE: if somebody wants to have access to vmgump (the solaris zone that
runs all the code) and help us setup a harmony gump run, that can be
easily arranged.
Hope this helps.
--
Stefano.
Re: Dr. Strangebuild or: How I learned to stop worrying and love Gump
Posted by Leo Simons <ma...@leosimons.com>.
On Thu, Mar 16, 2006 at 10:07:59AM -0800, Stefano Mazzocchi wrote:
> Gump is the, citing Leo, the "most misunderstood piece of software ever".
<snip/>
Hehehe.
Way back, before the jdk had a gargantuan TCK (this is something I assume),
apache's java hackers would routinely find various bugs in the jdk. Gump is
a tool that helps do this. Previously we've helped the kaffe people to do
much of the same thing (I don't think we have a gump-on-kaffe set up at the
moment unfortunately. I keep trying to convince Dalibor to put in some cycles
to help make it happen). One of the main reasons that Apache Ant works so
well on so many platforms and has a long history of backwards-compatibility
is that its developers make good use of gump.
> WARNING: gump is far from being perfect and a new generation (gump3) has
> been in the making forever [and this is why both Leo and I got a real
> day job and stopped working on it]. We also had a summer-of-code student
> working on the dynamic web application interface for dynagump and
> continuing that work is in my light-year-long todo list.
>
> I'm secretly hoping to get this project to make me itch my old gump
> scars enough to start scratching again.
Yeah, same here. Heh, its one of the reasons I wanted to be involved with
Harmony in the first place.
My other secret hope is that there's some people who really, really need
gump3 and know it (most of the software industry needs it but doesn't know
it) and are gonna pay me to finish the critter (which serves as a nice
itch).
> NOTE: if somebody wants to have access to vmgump (the solaris zone that
> runs all the code) and help us setup a harmony gump run, that can be
> easily arranged.
Well, we'd probably have to make said individual a committer first. Heh.
That's also easily arranged I guess :-).
LSD