This section will be of interest only to those building HBase from source.
Pass -Dsnappy
to trigger the snappy maven profile for building
snappy native libs into hbase.
Do the following to build the HBase tarball. Passing the -Drelease will generate javadoc and run the RAT plugin to verify licenses on source.
% MAVEN_OPTS="-Xmx2g" mvn clean site install assembly:single -Dmaven.test.skip -Prelease
Follow the instructions at
Publishing Maven Artifacts.
The 'trick' to making it all work is answering the questions put to you by the mvn release plugin properly,
making sure it is using the actual branch AND before doing the mvn release:perform step,
VERY IMPORTANT, hand edit the release.properties file that was put under ${HBASE_HOME}
by the previous step, release:perform. You need to edit it to make it point at
right locations in SVN.
If you see run into the below, its because you need to edit version in the pom.xml and add
-SNAPSHOT
to the version (and commit).
[INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'release'. [INFO] ------------------------------------------------------------------------ [INFO] Building HBase [INFO] task-segment: [release:prepare] (aggregator-style) [INFO] ------------------------------------------------------------------------ [INFO] [release:prepare {execution: default-cli}] [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] You don't have a SNAPSHOT project in the reactor projects list. [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3 seconds [INFO] Finished at: Sat Mar 26 18:11:07 PDT 2011 [INFO] Final Memory: 35M/423M [INFO] -----------------------------------------------------------------------
If you see Unable to find resource 'VM_global_library.vm'
, ignore it.
Its not an error. It is officially ugly though.