[Mondrian] Olap4j Ivy[fication ]

Luc Boudreau lucboudreau at gmail.com
Tue May 5 11:24:51 EDT 2009


Today is a big day for Olap4j. =)

I just committed into the repository all the stuff needed to build Olap4j
via Ant+Ivy. There are a few things to know about this change, so here they
are.

*Usage of Mondrian SNAPSHOT builds*

Olap4j is now built against Mondrian's bleeding edge builds. Since
continuous integrations seems the way to go these days, there is no point
not taking advantage of such a wonderful feature. For now it's using the
mondrian-3.1-SNAPSHOT jar located in Pentaho's repo. If this artifact is not
the one that gets updated by the Hudson build system, please advise me
immediately and I'll fix it up.

This means that we should be able to detect any disrupting changes in the
Mondrian source tree and how exactly it affects the Olap4j's behaviour. As
some people will notice, the tests currently fail due to a serialization
issue, but as soon as Mondrian in turn gets built against Olap4j's SNAPSHOT
release, everything should fall back to normal.

*How to build Olap4j*

Building Olap4j is now a trivial matter. It used to be painful and
complicated; fear not. That's a thing of the past. The only operations
required to build Olap4j are now a SVN checkout and running the "dist" goal
in Ant. Everything else is done and resolved for you.

*How to test Olap4j*

I took the liberty of simplifying the testing kit since I was doing some
major refactoring anyways. The tests now run on a automatically supplied
HSQL database. It gets configured thanks to SimpleJNDI. If you want to run
the tests against your own database, simply modify the
simple-jndi/jdbc.properties file.

By default, the test suite uses the Mondrian tester. In order to test the
XMLA driver, one needs to change the org.olap4j.test.helperClassName
property in test.properties.

Launching the tests can be done with the "test" goal in Ant.

*Points of interest*

Olap4j now requires Ant 1.7 or newer. The TCK also requires Ant to be
allowed at least 1024 mb of memory. This is easily achieved by either
launching Ant with the proper parameters or by setting the ANT_OPTS
environment variable accordingly.

All the dependencies are defined in ivy.xml. If you want to build Olap4j
against a different Mondrian version, this is where you tell which one to
fetch. There is also a very nifty feature that allows you to test Olap4j
against developer specific libraries. You can place any special JAR file in
the [root]/dev-libs folder and it will get picked up at compilation. This
allows developers to test Olap4j with whatever libraries without actually
having to deploy them in a Maven repository first. Kewl heh?

*Special thanks*

I'd like to thank Aaron Phillips from Pentaho (he's the build guy there...)
for his very precious help. Also thanks to Julian for validation and
critics. Always appreciated.

_____________________________
Luc Boudreau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20090505/2918f50b/attachment.html 


More information about the Mondrian mailing list