+1 on the 'maven'ization.
As far as I see - there is not any special cross goal dependencies
coming up, in the HBase lifecycle so this should not be a problem.
As I had suggested earlier - the best course of action, for a smooth
transition would be -
* directory changes as necessary for mvn
* modify build scripts.
.
.
.
* working pom.xml in place and build scripts /ivy removed.
Good work, Paul .
On 02/12/2010 06:10 PM, Paul Smith wrote:
I while ago I prepared a fairly lengthy email to this list about the potential
of moving HBase to a Maven build system (as is discussed on HBASE-2099). On
reflection, it was a) long, and b) a bit over the top. I think from a small
smattering of discussions on IRC it appears there's at least a view that it
might be worth kicking off a discussion, so the content of the original mail
isn't needed.
So, lets talk! :)
I personally think Maven will assist as the HBase community to refactor the
Hbase system into various components and should make your lives a lot easier.
The built-in reporting and packaging elements make things easy if you follow
conventions (I'm just proposing a few directory shuffles to follow these
conventions to simplify things). I'm also recommending a slight change in
direction with respect to the produced tar balls that are spit out.
What do people think? The IntelliJ built in support for Maven is outstanding,
and the M2Eclipse plugin is excellent for Eclipse, so there's good support for
it in the IDE. Kay Kay looks to have good Maven skills up his sleeve by the
looks of his work on HBASE-2212 moving out the Lucene code to a github project
(nice work!), so there should be good support around. Maven will help simplify
the publishing of artifacts to the Maven repositories (particularly regular
snapshots for anyone upstream that want's easy access to the latest without
having to build from source).
HBASE-2099 has a lengthy comment trail on it, so may not be easily digestible.
If you have any questions or concerns I'd really like to hear your thoughts.
If you're unfamiliar with Maven I highly recommend the Maven: The Definitive
Guide (free, see [1])
cheers,
Paul
[1] Maven: The Definitive Guide - http://www.sonatype.com/book/
(now split into 2 books, a by-example, and a reference guide).