[Mondrian] Mondrian now uses ivy to download libraries' source and javadoc

Julian Hyde julian at hydromatic.net
Fri Jan 2 21:01:26 EST 2009


Ivy and maven have brought some nice changes to how people get hold of
third-party open source code, especially in the development environment. Ivy
allows a component to publish source and javadoc artifacts in addition to
its binaries.
 
As of change 12184, mondrian's ant script now uses ivy to download the
source and javadoc of thirdparty libraries, in addition to the binaries.
Thus for a compliant library, there will be 3 files in lib:
 
lib/xxx.jar (contains .class files)
lib/xxx-source.jar (contains .java files)
lib/xxx-javadoc.jar (contains .html files)
 
This increases the download time a little the first time you build mondrian,
but you can point your ide at the -source and -javadoc files to make
debugging more pleasant. If you are an IntelliJ IDEA user you are in luck:
have already fixed up the checked-in IntelliJ files (mondrian.ipr,
mondrian.iml, mondrianTest.iml).
 
I also made 'ant clean' clear out the lib directory, except for the two
source-controlled files mondrian.xsd and xml-apis.jar. This makes life
simpler but note a couple of negative consequences:

*	If you have placed files in the lib directory, they will get swept
away if you 'ant clean'.
*	Previously, when you were working offline using 'ant
-Dskip.download=true', it was safe to do 'ant clean', but no longer. Ivy
needs to do a resolve in order to figure out the set of jar files to copy
from its cache into lib, and it can't do that while offline.

Lastly, when we publish mondrian and olap4j to the pentaho maven repository,
we currently publish only the binaries. At some point, I plan to publish the
source and javadoc.
 
I may also change the organization of the mondrian binary distribution (e.g.
as found on SourceForge,
http://sourceforge.net/project/showfiles.php?group_id=35302
<http://sourceforge.net/project/showfiles.php?group_id=35302&package_id=2778
6&release_id=617396> &package_id=27786&release_id=617396) to be more
similiar to how files are structured in the maven repository. The
mondrian-<version>.zip file will basically contain mondrian-<version>.jar,
mondrian-<version>-source.jar, and mondrian-<version>-javadoc.jar and a few
housekeeping files. If your IDE can read source and javadoc from jar files,
you will have many fewer files in your filesystem.
 
Julian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20090102/2e8e1d12/attachment.html 


More information about the Mondrian mailing list