The apache gump is an continuous integration tool was developed at the apache software foundation. This is coded python language and supports Apache ant, Apache Maven and also other tools. Gump is having special features that it develops and also compiles software against the latest development versions in projects. This offers a gump that find out incompatible changes to the software in just few hours after changes that are checked into the version control system.
How the gump works?
Gump project definitions are tracked from XML into memory objects for processing. Scripts will execute SCM that update commands for every module which contains a project being built, and invoke builds for each project in order that ensures that are satisfied. Here build outputs are processes and also successful dependent projects are built on these outputs. The necessary commands used to build .xml/Make file/pom.xml files from the projects, but cannot use scripts to check into CVS/SVN.The Gump will try to play several tricks and order to know the gump’s versions files are used.
The Apache Http builds will be example for build process that supports gump.HTTPd needs APR and gump will provide the path to the freshly built APR files as command line options to the buildconf or/configure scripts.
For Apache maven 1.x builds,gump runs Maven with the offline switch and also uses jar overrides.The artifact ids will be expected by maven and gump names of jars which will not match case<property> elements that have to be used to get the correct artifacts ids.
Who is gump?
Gump is kept after the name forest gump, the title character movie. The process of building was to do a generate followed by cvs updates followed by build all. This was repetitive so the command to create to combine these operations and also it was named guba.This sound this made when spoken reminded me of bubba gump. This appropriate has the motivation for gump derived from the frustrations by building cocoons. The projects indicate which was named after the movie that the creator of the project was fond and it seemed fitting that this effort will be named after a movie.A number of other fortunate coincidences that proved this was the correct choice for the name.
Apache gump object model
The data definitions of apache gump will be organized all around the various roles a developer may perform. The overall approach is that elements can be repeated in multiple contexts with the definitions higher level constructs extending or overriding the previous definitions.The way of overriding works quite simple.If two elements are located with the same value for the name and attribute they are combined.Combining the attributes results in the named attributes overriding previous values.combining of elements that results in the concatenation.
Project
A project shows the unit of integration for gump.It can present a buildable project or a package installation .It is a key role that are to be target of a dependency and get the jars and other source files.
Module
A module known to be the group of projects that are stored in a single repository.The way gump integrate many definitions a module definition will be spread all over the multiple files.
Repository
A repository is the modules that can physically be available .In case of cvs it has the information that is used form CVSROOT used on the checkout and update.
Profile
It is a group of projects and repositories logically to be considered a unit.A profile will offer a consistent set of installable dependencies or may be tagged versions of cvs modules that to be used.
Questions
1. What are Apache gump?
2. What are the characteristics of Apache Gump?