Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To compile all of the modules from the top level, execute the following on the command line from the maven directory:

Code Block
 mvn clean install

To build without tests, you would simply run

...

 

Note
titleDependencies

Not all of the dependencies that pentaho depends on exist in maven repositories. To handle this, there is a install_rescued_jars.sh script in the maven directory for each project  that will install jars from the rescued_jars folder into your local maven repository. You only need to run this script once to put the jars into locations that the maven modules expect.

To build without tests, you would simply run

Code Block

mvn clean install -Dmaven.test.skip

To import these projects into eclipse you would first need to execute

Code Block

mvn eclipse:eclipse 

This will generate the .project, .classpath, and .settings files eclipse needs.

To see a collection of reports that maven  will generate for you about your project, execute

Code Block

mvn site 
Note
titleSite problems

 If you encounter problems with this command, try using the -U flag. This will update the versions of plugins that maven uses. For example:

Code Block

 mvn -U site


Pentaho

The pentaho source trees produces a number of different artifacts, as described in the current Ant build.xml and deployment_build.xml. (There is also a dev_build.xml.) With a maven build, the most common structure is to have one maven module per artifact to be generated.

...

Note, this is with redundant relationships removed. For example, pentaho-util depends on pentaho-api and pentaho-messages. Instead of needing to depend explicitly on both of these, pentaho-util can now just depend on pentaho-api, and pentaho-api will bring along pentaho-messages as a dependency.

Not shown is a relationship between pentaho and pentaho-metadata. Pentaho depends on pentaho-metadata for a number of classes, but it currently depends on a jar file to get these from. Once pentaho-metadata and pentaho are complete, pentaho should depend on the maven module for pentaho-metadata. 

Pentaho-metadata

This project has its own build.xml which requires the building of a number of different artifacts, including a zip file with a startup script, javadoc, and source zips and a jar .

We successfully mavenized the pentaho-metadata project. The maven module compiles the pentaho-meta jar, and creates the various zips. In addition, we were able to successfully run the MetaEditor.bat startup script and the unit tests pass: Image Added

This maven module depends on code from the pentaho source tree. In particular, it is the pentaho-publisher jar that is required to build pentaho-metadata, so you will have to build that before attempting to compile pentaho-metadata. 

How to Help

Please reply to the Working Group Thread. A good step for anyone wishing to help out would be to check out the source and try to build from the maven modules. This can help root out problems in the build, and can only make it better.

...