HBASE-4098 developer.xml - adding repo info, how to set up eclipse, common maven commands

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1146914 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2011-07-14 22:47:31 +00:00
parent 1f46c437dd
commit 192539460a
1 changed files with 86 additions and 3 deletions

View File

@ -9,17 +9,100 @@
xmlns:db="http://docbook.org/ns/docbook"> xmlns:db="http://docbook.org/ns/docbook">
<title>Developing HBase</title> <title>Developing HBase</title>
<para>This chapter will be of interest only to those developing HBase (i.e., as opposed to using it). <para>This chapter will be of interest only to those developing HBase (i.e., as opposed to using it).
See the HBase wiki <link xlink:href="http://wiki.apache.org/hadoop/Hbase/HowToContribute">How To Contribute</link>
</para> </para>
<section xml:id="repos">
<title>HBase Repositories</title>
<section xml:id="svn">
<title>SVN</title>
<programlisting>
svn co http://svn.apache.org/repos/asf/hbase/trunk hbase-core-trunk
</programlisting>
</section>
<section xml:id="git">
<title>Git</title>
<programlisting>
git clone git://git.apache.org/hbase.git
</programlisting>
</section>
</section>
<section xml:id="ides"> <section xml:id="ides">
<title>IDEs</title> <title>IDEs</title>
<section xml:id="eclipse"> <section xml:id="eclipse">
<title>Eclipse</title> <title>Eclipse</title>
<para>See <link xlink:href="https://issues.apache.org/jira/browse/HBASE-3678">HBASE-3678 Add Eclipse-based Apache Formatter to HBase Wiki</link> <section xml:id="eclipse.code.formatting">
<title>Code Formatting</title>
<para>See <link xlink:href="https://issues.apache.org/jira/browse/HBASE-3678">HBASE-3678 Add Eclipse-based Apache Formatter to HBase Wiki</link>
for an Eclipse formatter to help ensure your code conforms to HBase'y coding conventsion. for an Eclipse formatter to help ensure your code conforms to HBase'y coding conventsion.
The issue includes instructions for loading the attached formatter.</para> The issue includes instructions for loading the attached formatter.</para>
</section>
<section xml:id="eclipse.svn">
<title>Subversive Plugin</title>
<para>Download and install the Subversive plugin.</para>
<para>Set up an SVN Repository target from <xref linkend="svn"/>, then check out the code.</para>
</section>
<section xml:id="eclipse.maven.setup">
<title>HBase Project Setup</title>
To set up your Eclipse environment for HBase, close Eclipse and execute...
<programlisting>
mvn eclipse:eclipse
</programlisting>
... from your local HBase project directory in your workspace to generate a new <filename>.project</filename> file. Then reopen Eclipse.
</section>
<section xml:id="eclipse.maven.plugin">
<title>Maven Plugin</title>
<para>Download and install the Maven plugin. For example, Help -&gt; Install New Software -&gt; (search for Maven Plugin)</para>
</section>
<section xml:id="eclipse.maven.class">
<title>Maven Classpath Variable</title>
<para>The <varname>M2_REPO</varname> classpath variable needs to be set up for the project. This needs to be set to
your local Maven repository, which is usually <filename>~/.m2/repository</filename></para>
If this classpath variable is not configured, you will see compile errors in Eclipse like this...
<programlisting>
Description Resource Path Location Type
The project cannot be built until build path errors are resolved hbase Unknown Java Problem
Unbound classpath variable: 'M2_REPO/asm/asm/3.1/asm-3.1.jar' in project 'hbase' hbase Build path Build Path Problem
Unbound classpath variable: 'M2_REPO/com/github/stephenc/high-scale-lib/high-scale-lib/1.1.1/high-scale-lib-1.1.1.jar' in project 'hbase' hbase Build path Build Path Problem
Unbound classpath variable: 'M2_REPO/com/google/guava/guava/r09/guava-r09.jar' in project 'hbase' hbase Build path Build Path Problem
Unbound classpath variable: 'M2_REPO/com/google/protobuf/protobuf-java/2.3.0/protobuf-java-2.3.0.jar' in project 'hbase' hbase Build path Build Path Problem Unbound classpath variable:
</programlisting>
</section>
<section xml:id="eclipse.issues">
<title>Eclipse Known Issues</title>
<para>Eclipse will currently complain about <filename>Bytes.java</filename>. It is not possible to turn these errors off.</para>
<programlisting>
Description Resource Path Location Type
Access restriction: The method arrayBaseOffset(Class) from the type Unsafe is not accessible due to restriction on required library /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar Bytes.java /hbase/src/main/java/org/apache/hadoop/hbase/util line 1061 Java Problem
Access restriction: The method arrayIndexScale(Class) from the type Unsafe is not accessible due to restriction on required library /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar Bytes.java /hbase/src/main/java/org/apache/hadoop/hbase/util line 1064 Java Problem
Access restriction: The method getLong(Object, long) from the type Unsafe is not accessible due to restriction on required library /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar Bytes.java /hbase/src/main/java/org/apache/hadoop/hbase/util line 1111 Java Problem
</programlisting>
</section>
</section> </section>
</section> </section>
<section xml:id="maven.build.commands">
<title>Maven Build Commands</title>
<para>All commands executed from the local HBase project directory.
</para>
<section xml:id="maven.build.commands.compile">
<title>Compile</title>
<programlisting>
mvn compile
</programlisting>
</section>
<section xml:id="maven.build.commands.unitall">
<title>Run all Unit Tests</title>
<programlisting>
mvn test
</programlisting>
</section>
<section xml:id="maven.build.commands.unit">
<title>Run a Single Unit Test</title>
<programlisting>
mvn test -Dtest=TestXYZ
</programlisting>
</section>
</section>
<section xml:id="unit.tests"> <section xml:id="unit.tests">
<title>Unit Tests</title> <title>Unit Tests</title>
<para>In HBase we use <link xlink:href="http://junit.org">JUnit</link> 4. <para>In HBase we use <link xlink:href="http://junit.org">JUnit</link> 4.