You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jesse Yates (JIRA)" <ji...@apache.org> on 2012/05/07 20:54:49 UTC

[jira] [Commented] (HBASE-4336) Convert source tree into maven modules

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

Jesse Yates commented on HBASE-4336:
------------------------------------

Commit candidate v0 is up at https://github.com/jyates/hbase/tree/refactor-modules. Its been rebased onto a fairly recent trunk (may be back a few days, but is pretty close).  

Worked with Matt Corgan and Ian Varley (thanks Matt and Ian!) on getting this working for more than one person; currently shown to work on OSX and Ubuntu. 

Give it a spin for the use cases you care about and lets get this rolled in!

Notes for usage:
* Requires Maven 3 (same as current HBase, but calling this out as its easy to mess up).
* Security profile is now enabled with a property, not necessarily enabling a profile
** -Dsecurity, not -Psecurity (minor, but the 'right' way to use profiles)
* mvn eclipse:eclipse requires running 'mvn install' first
** m2eclipse (built-in for Eclipse Indigo and installable in older versions) lets you do imports of the project, so you can ignore building the eclipse project files first. However, this way is a little wonky for the import, but you can basically ignore all the errors - seems to work fine.

Testing done:
* mvn
** clean, package, test, compile
* usage
** deployed in pseudo-distributed and works from shell
                
> 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 to:
> * 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