Building Fulcrum

Building Fulcrum from SVN is now very easy because it has been Maven-enabled. Before you begin, you'll need to check out the turbine-fulcrum SVN repository (if you are not familiar with the Apache SVN repositories, please refer to the documentation).

Please refer to the Maven Getting Started document for instructions on how to install and use Maven.

From the root directory of the Fulcrum project (where you checked out the code to or unpacked a source distribution), simply type 'maven fulcrum:build' and press enter. This will start a process that will build each component. After the component is built, it will be installed into you local maven repository.

To build a local copy of the documentation, use 'maven multiproject:site'. This will build a local copy of the web site in the 'target/docs' directory. Note, this uses a LOT of memory. If you can't build all of them, build them individually.

Current Build Issues

Missing JARS! There are some jar files that you must manually install due to licensing restrictions. Javamail.jar will need to be downloaded. Note, when you download it from Sun's site, you will need to rename it from mail.jar to javamail-1.3.1.jar and place it in your MAVEN_REPO/javamail/jars/ directory. You will also need to download jdbc-2.0.jar as well. Lastly, for the Hibernate security provider, you need Sun's JTA jar file. Currently, the easiest place to go is Hibernate and download the jar from there by downloading the current distribution.

Depending on your version of Maven, you may have various problems with the reports being generated, or you may run out of memory when you do a complete build. One approach to take is to turn off running unit tests and excluding various components:

$ maven multiproject:site -Dmaven.test.skip=true -Dmaven.multiproject.excludes=security/*.*,cache/*.*,scheduler/*.*'

Maven Repositories

If you are willing to build with an "unofficial" repository, you can uncomment the maven.repo property in the project.properties file. This will allow Maven to download from a Turbine repository the various jars that are not currently in the main Maven repository.