Hi,

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.

Build steps:

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.


Thanks.

Ming

Reply via email to