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.

Reply via email to