This is still a work in progress...
Prerequisites
- J2SE SDK 1.4.2
- Apache Maven (2.0.4+)
- Ant (1.6.5+) - Used only to bootstrap
- Subversion (1.2+)
You must use J2SE 1.4.x... NOT 1.5. The build should fail early if you are using the wrong JDK.
Checkout Geronimo
svn co https://svn.apache.org/repos/asf/geronimo/trunk geronimo
To avoid failures during downloads from the ibiblio repository, it's advisable to define a mirror for the central
m2 repository before running. Add the following lines to your ~/.m2/settings.xml
:
<?xml version="1.0"?> <settings> <mirrors> <mirror> <id>repo.mergere.com</id> <url>http://repo.mergere.com/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
Building for the first time
If you are building for the first time, a little patience is required.
You will need Ant installed and available in the search path of your shell.
cd geronimo ./bootstrap
Warning
The bootstrap script will remove your local Maven2 repository cache and will take maybe 30 minutes or so to run... more or less depending on how fast your network connection is.
Windows and Cygwin
Windows users need to run bootstrap
from a Cygwin environment and should probably run these steps from the root of a drive (c:, d:, etc) to better ensure that the long filename problem is not an issue when testing.
After this you can build all the components any time using:
mvn clean install
Chances are you will need to increase the heap size for Maven. Add the following lines to ~/.mavenrc
:
# Increase the heap size for Maven MAVEN_OPTS=-Xmx512m
Bootstrap w/o a full `bootstrap`
You can run the steps one by one (skipping steps as desired):
bootstrap clean
bootstrap specs
bootstrap modules
bootstrap openejb2
bootstrap assemble
Or you can use the minimal
bootstrap, which avoids a full repo cleaning and does not download and build any thirdparty sources:
./bootstrap minimal
Distribution binaries
The binaries for distribution can be found in the *.zip
and *.tar.gz
formats in following places
- geronimo/m2-assembles/geronimo-jetty-j2ee/target
- geronimo/m2-assembles/geronimo-tomcat-j2ee/target
- geronimo/m2-assembles/geronimo-jetty-minimal/target
- geronimo/m2-assembles/geronimo-tomcat-minimal/target
Pending Issues
There are still a few remaining issues which need to be sorted out.
Some use of version properties in pom.xml files are inconsistent due to selective use by child pom's that can not easily make use of the <dependencyManagement>
section; which is the desired end result. It will take some time to refactor to get this really finished.
Some minor work is needed to get the jsp/servlet examples happy. Also need to resolve the geronimo-samples groupId (and more so where that source comes from).
Some (2 actually) test failures need to have some attention given to them, tracked be:
- https://issues.apache.org/jira/browse/GERONIMO-2210
- https://issues.apache.org/jira/browse/GERONIMO-2211
Some more work also needs to be done on the Maven-2 generated site, but there is most of it here already:
Must see
Go the Geronimo :: Modules link, pick any module and see it's Project Reports
Other Useful commands
To prepare Geronimo for Eclipse, i.e to create .classpath and .project files
mvn -o eclipse:eclipse
Genesis
http://www.mail-archive.com/dev@geronimo.apache.org/msg26755.html