Gentoo Maven Integration - Weekly Report #6

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Gentoo Maven Integration - Weekly Report #6

Kasun Gajasinghe
Hi all,
The goal of this project is to be easily able to write ebuilds for
upstream projects that use Apache Maven as the build system. The Maven
integration allows to natively use Apache Maven in Java packages in
the main tree. The current system work around the support for Maven
projects by transforming them to Ant. It generates build.xml via “mvn
ant:ant” command and sanitizes that. This conversion too has some
problems and needs to fixed. With this project, developers gains the
ability to use native Maven support for writing ebuilds and will get
full support for using maven-to-ant feature.


First of all, Good News. I was finally able to build maven and it's
hefty 50+ dependencies from source. Now, it emerges successfully, and
passed the few tests I did. I have waited a little while before
sending this report to ensure that I haven't missed something.

With this, the milestone for the mid-term is complete. In the next
days, I'll be testing the package, and fix the few glitches I find on
the way.

Here's a little description about what I was doing in the last week.
Basically, I have bumped apache-maven and it emerges without any
issue. At testing I have found two issues; one is dependency conflict,
and other is another dependency issue having wrong version.

First issue, the dependency conflict was due to the conflict of maven
deps with the dependencies of the project we are building. Basically,
Apache Maven is a build management tool which take of almost
everything including dependency downloading and handling. Maven uses a
mechanism called shading classes (using maven-shade-plugin) to avoid
these conflicts. Since maven-shade-plugin should be built from maven
itself, we had to find another alternative. Finally, Jarjar came for
the rescue! So, this issue is now fixed.
The full discussion that went with Maven upstream developers can be
found at

Second issue was due to some misconfiguration and wrong dep of
maven-remote-resources plugin. It failed with ClassNotFoundException
for the class org.codehaus.plexus.velocity.DefaultVelocityComponent
which was in the package plexus-velocity.
After some rigorous period, found that it was due to doxia version,
the which has no particular connection maven-remote-resources plugin!
Anyway, the issue is fixed now.
Full discussion that went with Maven upstream developers can be found at

It's been fun and exciting week!


Kasun Gajasinghe,
University of Moratuwa,
Sri Lanka.