[
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