[Mondrian] Olap4j Ivyfication

Luc Boudreau lucboudreau at gmail.com
Wed Apr 22 12:56:04 EDT 2009


Hey there,

There are no Olap4j mailing list to reach out to loads of people, and since
Olap4j is supposedly the new API for Mondrian, I believe it is required to
post this message here.

Together with Aaron Phillips, we started the process of converting Olap4j to
a Ant+Ivy build mechanism. We've also included in the requirements the
possibility to build SNAPSHOT releases and publishing them to a Maven repo.
This is something we strongly need for PAT and I really hope to get this
going in a near future.

I had to branch the whole project to test everything and facilitate
collaboration on this. The 'ivyfied' project can be found there :

http://olap4j.svn.sourceforge.net/viewvc/olap4j/branches/ivyfication/

Essentially, the changes are as follows.

- Usage of Subfloor script -
This Ant script was developed by the Pentaho crew and now serves as a basic
template to build Olap4j. Thanks to Aaron for releasing it at Google Code.
You can find it here :

http://code.google.com/p/subfloor/

- External libraries -
Of course, all JAR files don't have to be included in the SVN anymore. Ant
is able to find them all and download them properly. This process can be
triggered and tested with the "resolve" target.

- SNAPSHOT releases -
The Subfloor template allows us to publish the Olap4j jars in a Maven repo.
This is a super sweet fun-time feature. Everyone developing with Olap4j will
agree, that was an essential requirement.



-- Current Status --
The conversion is not over yet. There are still things to do and we *need*
some help to make it all work. Especially from Julian, who is the main build
guy and who automated lots of stuff. I don't know how you set it up on your
test machines, so we need your input on this.

I have a feeling that it's worth disrupting the testing process for now. The
advantages we'll gain are enormous and we can just halt the Olap4j's
codebase development for now in order to stabilize things. The plan in the
long run is to make Olap4j available on the pentaho's CI server. (
http://ci.pentaho.com).

I barely touched the old build.xml file, and decided after a few tweaks that
it was better to start over than to modify it. So everything i'm about to
say (and said previously, obviously) applies to targets in the
"newbuild.xml" file.

As of today, here's what works so far.

 - 'dist'
We can generate both a regular JAR and a JRE-1.4 compliant one with this
target.

 - 'test'
Tests work but due to a serialization incompatibility between Olap4j and
Mondrian, it fails. Should be fixed once we set everything in place for
good.

 - 'clean' / 'clean-all'
Of course, that had to be done to start with. :-)



Last word.

My suggestion is this. I need help and advice on what disruptions are
acceptable and what is not. We will be building Olap4j differently and I
expect this will have an impact on Mondrian as well. I want to make the
disruption as little as possible, yet I do believe that some disruptions or
changes in the release structure will pay off in the long run, so I'm open
to them.

Luc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20090422/034b08ea/attachment.html 


More information about the Mondrian mailing list