I am new to hbase/open source/java. I am trying to build hbase from svn hbase trunk and notice two things.
1. Building of hbase from stable release 0.90.2 jar is relatively easy, just need to include the dependent jar files.
2. Building from "http://svn.apache.org/repos/asf/hbase/trunk hbase" takes quite some time due to the dependency on other libraries. http://hbase.apache.org/source-repository.html and http://wiki.apache.org/hadoop/Hbase/HowToContribute don't seem to have all the details.
3. To make the hbase jar file run on your dev machine, you have to include other resource files when you build hbase jar file.
Does anyone know if there are any automated build tools or any document that have detailed steps for anyone who is new to the project? Here are my steps; maybe someone can suggest a better to do things.
1. Run svn checkout http://svn.apache.org/repos/asf/hbase/trunk hbase
2. Open eclipse to create a new java project under hbase/src/main/java directory
3. Get the libraries that hbase depends on.
a. Download hbase-0.90.2.jar. Use libraries included in hbase-0.90.2.jar's as baseline for the libs.
b. Get the latest thrift from http://archive.apache.org/dist/thrift/. Given I couldn't find deployable thrift-0.60.0.jar anywhere. So I have to do the same thing for thrift: get the source code of thrift; resolve lib dependency; build jar files out of it.
c. Get the latest avro-1.5.1.jar and avro-ipc-1.5.1.jar from http://archive.apache.org/dist/avro/avro-1.5.1/java/. All avro-1.3.3.jar, avro.1.5.1.jar and avro-ipc-1.5.1.jar are needed. Make sure the order is avro.1.5.1.jar, avro-ipc-1.5.1.jar, avro-1.3.3.jar.
d. Get high-scale-lib.jar from somewhere on the web.
e. Get guava-r09.jar from somewhere on the web.
4. Handle jamon. Check out http://www.jamon.org/Overview.html for how to use jamon.
a. Use jamon to compile jamon files under \main\jamon\org\apache\hbase\tmpl to java files. Hbase jamon files are under \src\main\jamon\org\apache\hbase\tmpl. The jamon command is something like "C:\svnroot\hbase\src\main\jamon>java org.jamon.compiler.TemplateProcessor --destDir=C:\svnroot\hbase\src\main\java org\apache\hbase\tmpl\regionserver\RSStatusTmpl.jamon"
b. In hbase java project, include the generated java files as well as jamon jar libraries.
5. Copy package-info.class from hbase-0.90.2.jar to your /org/apache/hadoop/hbase directory.
6. Build hbase jar file that includes the class files, hbase-webapps dir and hbase-default.xml.