[ https://issues.apache.org/jira/browse/HBASE-4336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13250467#comment-13250467 ]
Jesse Yates commented on HBASE-4336: ------------------------------------ After much divining of tarot cards and tea leaves to understand some of the maven 'features', I think I have a working, modularized build of hbase. The modules are: * hbase (parent) * hbase-core (most of the code) * hbase-common (basically empty, but where things like the util classes will go) * hbase-security * hbase-assemble (needed because the top level module can't depend on its children) Most of the code has not been moved over to common that will, but there is no reason why any changes should impact the build - all the jars and sources are being assembled correctly. The link to the repo can be found here: https://github.com/jyates/hbase/tree/refactor-modules Please give it a test drive, make sure things build well, etc. I have it working on OSX and deploying in standalone mode (used "mvn clean package" to build). > 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