gump-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Ranger <>
Subject Using Gump to find configurations
Date Mon, 01 Dec 2003 17:16:16 GMT
I've been dabbling with Gump builds for my own devious purposes for over a year 
now. It occurred to me that some of you might be interested in a few 
tools/improvements I came up with.

I use Gump for finding all the latest-greatest jars I need for my favorite project of the

day (nowadays using maven). Of course, I want all these jars to be compiled against 
each other for the usual reasons. This lead me to problem of figuring out exactly 
*what* I needed in term of a profile/workspace definition. After doing it by hand 
from scratch once:

 - Started from a workspace containing the global 'gump.xml' with all the trimings,
 - Added my project (the gump definition kindly generated by maven).
 - Ran the generation and looked at the dependency cross-reference. It dawned on me
   then that my project should be the only empty entry in the table (no "referenced
   by"s).  Adding that as a step in the generation should be easy enough to do. And so
   I did...

What it boiled down to is this:

 - adding a "root" attribute to workspace, containing the name of my project.
 - a stylesheet to filter the work/merge.xml by removing any unreferenced project
    (except for the root) and any unreferenced module or repository.
 - inserting a step in the gen.bat script to apply the stylesheet a certain number of
   times (because removing a project may cause other projects to become
   unreferenced). Of course, there should be a way to figure out when to stop iterating.
   But being lazy, I settled for an iteration variable in the script.
 - That worked like a charm and produced:
     - an update script that only gets the minimal modules needed.
     - a build script that only builds the mimimum projects from those modules.
     - a list of the repositories I actually end up using.
I also have a stylesheet that produces the list of packages that should be manually 
installed as well as one that produces the global list of jars (generated, included or 
installed). I'm currently trying to automate publishing those jars in my local maven 

Sorry for being so long-winded: this is my first post to this list and I had a lot on my 
mind... ;-)  If anyone is interested in any of the above, I'll be happy to share. 
Denis Ranger

View raw message