You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/05/18 06:12:04 UTC

svn commit: r945486 - in /hadoop/hbase/trunk: CHANGES.txt bin/hbase

Author: stack
Date: Tue May 18 04:12:04 2010
New Revision: 945486

URL: http://svn.apache.org/viewvc?rev=945486&view=rev
Log:
HBASE-2562 bin/hbase doesn't work in-situ in maven

Modified:
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/bin/hbase

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=945486&r1=945485&r2=945486&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Tue May 18 04:12:04 2010
@@ -329,6 +329,8 @@ Release 0.21.0 - Unreleased
    HBASE-2442  Log lease recovery catches IOException too widely
                (Todd Lipcon via Stack)
    HBASE-2457  RS gets stuck compacting region ad infinitum
+   HBASE-2562  bin/hbase doesn't work in-situ in maven
+               (Todd Lipcon via Stack)
 
   IMPROVEMENTS
    HBASE-1760  Cleanup TODOs in HTable

Modified: hadoop/hbase/trunk/bin/hbase
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/bin/hbase?rev=945486&r1=945485&r2=945486&view=diff
==============================================================================
--- hadoop/hbase/trunk/bin/hbase (original)
+++ hadoop/hbase/trunk/bin/hbase Tue May 18 04:12:04 2010
@@ -40,6 +40,8 @@
 #
 #   HBASE_ROOT_LOGGER The root appender. Default is INFO,console
 #
+#   MAVEN_HOME       Where mvn is installed.
+#
 bin=`dirname "$0"`
 bin=`cd "$bin"; pwd`
 
@@ -83,6 +85,11 @@ shift
 JAVA=$JAVA_HOME/bin/java
 JAVA_HEAP_MAX=-Xmx1000m 
 
+MVN="mvn"
+if [ "$MAVEN_HOME" != "" ]; then
+  MVN=${MAVEN_HOME}/bin/mvn
+fi
+
 # check envvars which might override default args
 if [ "$HBASE_HEAPSIZE" != "" ]; then
   #echo "run with heapsize $HBASE_HEAPSIZE"
@@ -97,19 +104,29 @@ IFS=
 CLASSPATH="${HBASE_CONF_DIR}"
 CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
 
-# For developers, add hbase classes to CLASSPATH
-if [ -d "$HBASE_HOME/build/classes" ]; then
-  CLASSPATH=${CLASSPATH}:$HBASE_HOME/build/classes
-fi
-if [ -d "$HBASE_HOME/build/test" ]; then
-  CLASSPATH=${CLASSPATH}:$HBASE_HOME/build/test
-fi
-if [ -d "$HBASE_HOME/build/webapps" ]; then
-  CLASSPATH=${CLASSPATH}:$HBASE_HOME/build
-fi
+add_maven_deps_to_classpath() {
+  f="/tmp/hbase-core-tets-classpath.txt"
+  ${MVN} -f core/pom.xml dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null
+  # Add tests classes
+  CLASSPATH=${CLASSPATH}:`cat "${f}"`
+}
 
-# Add maven target directory
-if $in_sources_dir; then
+add_maven_main_classes_to_classpath() {
+  if [ -d "$HBASE_HOME/core/target/classes" ]; then
+    CLASSPATH=${CLASSPATH}:$HBASE_HOME/core/target/classes
+  fi
+}
+
+add_maven_test_classes_to_classpath() {
+  # For developers, add hbase classes to CLASSPATH
+  f="$HBASE_HOME/core/target/test-classes"
+  if [ -d "${f}" ]; then
+    CLASSPATH=${CLASSPATH}:${f}
+  fi
+}
+
+add_maven_target_dir_to_classpath() {
+  # I never seem to *have* such a dir. -tlipcon
   HBASE_VER=`grep '<version>' $HBASE_HOME/pom.xml | head -1 | sed 's/.*<version>\(.*\)<\/version>/\1/'`
   MAVEN_TARGET_DIR=$HBASE_HOME/target/hbase-$HBASE_VER-bin/hbase-$HBASE_VER
   if [ -d "$MAVEN_TARGET_DIR" ]; then
@@ -119,6 +136,13 @@ if $in_sources_dir; then
       fi
     done
   fi
+}
+
+# Add maven target directory
+if $in_sources_dir; then
+  add_maven_deps_to_classpath
+  add_maven_main_classes_to_classpath
+  add_maven_test_classes_to_classpath
 fi
 
 # For releases, add hbase & webapps to CLASSPATH
@@ -137,19 +161,11 @@ for f in $HBASE_HOME/lib/*.jar; do
   CLASSPATH=${CLASSPATH}:$f;
 done
 
-# Add libs handled by ivy
-if [ -d "$HBASE_HOME/build/ivy/lib/common" ]; then
-for f in $HBASE_HOME/build/ivy/lib/common/*.jar; do
-  CLASSPATH=${CLASSPATH}:$f;
-done
-fi
-
 # Add user-specified CLASSPATH last
 if [ "$HBASE_CLASSPATH" != "" ]; then
   CLASSPATH=${CLASSPATH}:${HBASE_CLASSPATH}
 fi
 
-
 # default log directory & file
 if [ "$HBASE_LOG_DIR" = "" ]; then
   HBASE_LOG_DIR="$HBASE_HOME/logs"
@@ -195,15 +211,9 @@ if [ "$COMMAND" = "shell" ] ; then
   CLASS="org.jruby.Main ${HBASE_HOME}/bin/hirb.rb"
 elif $in_sources_dir && [ "$COMMAND" = "shell-tests" ] ; then
   # Finx maven build classpath
-  mvn -f core/pom.xml dependency:build-classpath -Dmdep.outputFile=/tmp/hbase-core-tests-classpath.txt &> /dev/null
-  # Add tests classes
-  CLASSPATH=${CLASSPATH}:`cat /tmp/hbase-core-tests-classpath.txt`
-  for f in `find ${HBASE_HOME}/core/target -name '*.jar'`; do
-    if [ -f $f ]; then
-      CLASSPATH=${CLASSPATH}:$f;
-    fi
-  done
-  CLASSPATH=${HBASE_HOME}/core/target/test-classes:${CLASSPATH} # For configs
+  add_maven_deps_to_classpath
+  add_maven_main_classes_to_classpath
+  add_maven_test_classes_to_classpath
   # Start the tests
   CORESRC="${HBASE_HOME}/core/src"
   CLASS="org.jruby.Main -I${CORESRC}/main/ruby -I${CORESRC}/test/ruby ${CORESRC}/test/ruby/tests_runner.rb"