hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Yates (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4336) Convert source tree into maven modules
Date Fri, 13 Apr 2012 16:13:18 GMT

    [ https://issues.apache.org/jira/browse/HBASE-4336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253502#comment-13253502

Jesse Yates commented on HBASE-4336:

Working with Matt Corgan a bit on getting a version compiling across machines ran into a maven
issue (see links below) where the project will build fine if doing a 'mvn package', but 'mvn
compile' will break if you have two modules wherein one creates a test-jar and the other depends
on that jar, even with a test scope. 

As maven stands now, we can only have one module that has all the test code (or at least all
the code for that module), which is a huge pain as a large amount of code uses the minicluster.

An alternative design around this issue would be to have an hbase-test module that has all
the multi-module/mini-cluster tests, and then each of the modules just has its own unit tests
(I proposed something similar a couple months ago, but not for this reason).

The other alternative is to actually fix maven. One of maven jiras is marked resolved, but
doesn't work on maven 3.0.x. The other has been sitting in limbo for a couple years. I'll
try to get the maven issue resolved, but that means we will need to require people to build
with the tip of maven (when the change gets released).

The TL;DR is that until MNG-2045 gets resolved for mvn 3.0.x, it probably makes sense to just
go with with Stack's suggestion of hbase (parent), hbase-core and hbase-assemble for the moment
and work in parallel on resolving the maven jira.


Maven Jira issues:
 - jira.codehaus.org/browse/MNG-2045
 - http://jira.codehaus.org/browse/MNG-3559)
> Convert source tree into maven modules
> --------------------------------------
>                 Key: HBASE-4336
>                 URL: https://issues.apache.org/jira/browse/HBASE-4336
>             Project: HBase
>          Issue Type: Task
>          Components: build
>            Reporter: Gary Helmling
>            Priority: Critical
>             Fix For: 0.96.0
> When we originally converted the build to maven we had a single "core" module defined,
but later reverted this to a module-less build for the sake of simplicity.
> It now looks like it's time to re-address this, as we have an actual need for modules
> * provide a trimmed down "client" library that applications can make use of
> * more cleanly support building against different versions of Hadoop, in place of some
of the reflection machinations currently required
> * incorporate the secure RPC engine that depends on some secure Hadoop classes
> I propose we start simply by refactoring into two initial modules:
> * core - common classes and utilities, and client-side code and interfaces
> * server - master and region server implementations and supporting code
> This would also lay the groundwork for incorporating the HBase security features that
have been developed.  Once the module structure is in place, security-related features could
then be incorporated into a third module -- "security" -- after normal review and approval.
 The security module could then depend on secure Hadoop, without modifying the dependencies
of the rest of the HBase code.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message