Notes on the Struts Gump Metadata


(info) The gump metadata resides in SVN and can be updated by any committer - not just gump committers.


2. Gump Metadata relevant to Struts in SVN

Gump metadata has been moved from CVS to SVN and now (Sept 2005) access to view the repository results in a 403 Forbidden using either of the urls below:

However it is still possible to checkout the gump module from SVN in the usual way and commit changes to it. The URL to checkout just the gump metadata (and not the whole gump project) is:

The main artifacts relevant to struts are the following files:

  • 1 profile/gump.xml - Live Gump profile
  • 2 project/struts.xml - Current Struts_ module_ using SVN
  • 3 repository/struts-svn.xml - Struts SVN repository

2.1 profile/gump.xml

There are currently (as of October 6, 2004) two lines in the gump.xml profile which directly relate to struts:

  • 1 a pointer to the module defintion for Struts
  • 2 a pointer to the repository definiton for Struts SVN
    <profile name="gump">
        ....
        ....
        <module href="project/struts.xml"/>
        ....
        ....
        <repository href="repository/struts-svn.xml"/>
        ....
        ....
    </profile>

2.2 repository/struts-svn.xml

This file defines the Struts SVN repository:

    <repository name="struts-svn" type="svn">
        ....
        ....
    </repository>

2.3 project/struts.xml

This has been refactored since last time I looked and there are now four projects defined - for some reason there are two taglib projects - both seem to do the same thing !?!

    <module name="struts">
        ....
        <svn repository="struts-svn" dir="current"/>
        ....
        <project name="struts-core">
            ...
        </project>
        <project name="struts-taglib-from-packages">
            ...
        </project>
        <project name="struts-taglib">
            ...
        </project>
        <project name="struts-tiles">
            ...
        </project>
    </module>

3. Adding a Packaged Jar

Recently the addition of the maven-taglib-plugin to the taglib's project.xml caused gump to fail. I thought I would document the steps needed to add a packaged jar to gump to resolve this kind of issue.

There are three steps to doing this (two which we can do and one which requires special kama)

  • 1 set up a project descriptor
  • 2 add the project to the gump profile
  • 3 upload the jar to the gump machine (requires special kama for vmgump machine)

3.1 Project Definition

Add an xml file definition to gumps metadata/project directory. The one for the maven-taglib-plugin is called maven-taglib-plugin.xml and looks like the following...

<module name="maven-taglib-plugin">
    <project name="maven-taglib-plugin">
        <jar name="maven-taglib-plugin-1.4.jar"/>
    </project>
</module>

3.2 Update the Gump Profile

Add entries to the gump's profile by editing the metadata/profile/gump.xml file:

  • 1 Add a module entry, for example...
    <module href="project/maven-taglib-plugin.xml"/>
  • 2 Add a package entry, for example...
  <project name="maven-taglib-plugin" package="maven-taglib-plugin"/>

3.3 Upload the jar

The new dependency's jar needs to be uploaded to the vmgump machine. Someone with kama for the vmgump machine needs to do this - best way is to post a message to the Gump Mailing List.

  • No labels