[ 
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

        

Reply via email to