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 2008/02/05 03:32:22 UTC
svn commit: r618517 - in /hadoop/hbase/trunk: ./ lib/ src/
src/java/org/apache/hadoop/hbase/ src/java/org/apache/hadoop/hbase/util/
src/test/org/apache/hadoop/hbase/
Author: stack
Date: Mon Feb 4 18:32:22 2008
New Revision: 618517
URL: http://svn.apache.org/viewvc?rev=618517&view=rev
Log:
HBASE-403 Fix build after move of hbase in svn
A lib/commons-httpclient-3.0.1.jar
M src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java
If not null, run shutdown of hbase cluster.
A src/java/org/apache/hadoop/hbase/util/VersionInfo.java
A src/java/org/apache/hadoop/hbase/VersionAnnotation.java
A src/saveVersion.sh
Bring down the hadoop version publishing system.
M src/java/org/apache/hadoop/hbase/util/InfoServer.java
Print out problematic path.
M build.xml
Need to put the hadoop jar in front of hbase else
complaints that dfs webapps, etc., can't be found.
(Need to fix HttpStatusServer in hadoop).
Added:
hadoop/hbase/trunk/lib/commons-httpclient-3.0.1.jar (with props)
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/VersionAnnotation.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/VersionInfo.java
hadoop/hbase/trunk/src/saveVersion.sh (with props)
Modified:
hadoop/hbase/trunk/build.xml
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/InfoServer.java
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java
Modified: hadoop/hbase/trunk/build.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/build.xml?rev=618517&r1=618516&r2=618517&view=diff
==============================================================================
--- hadoop/hbase/trunk/build.xml (original)
+++ hadoop/hbase/trunk/build.xml Mon Feb 4 18:32:22 2008
@@ -18,6 +18,9 @@
-->
<project name="hbase" default="jar">
+ <property name="version" value="0.1.0-dev"/>
+ <property name="final.name" value="${name}-${version}"/>
+
<!-- Load all the default properties, and any the user wants -->
<!-- to contribute (without having to type -D or edit this file -->
<property file="${user.home}/${name}.build.properties" />
@@ -37,7 +40,7 @@
<property name="build.dir" location="${basedir}/build"/>
<property name="build.bin" location="${build.dir}/bin"/>
<property name="build.conf" location="${build.dir}/conf"/>
- <property name="build.webapps" location="${build.dir}/webpps"/>
+ <property name="build.webapps" location="${build.dir}/webapps"/>
<property name="build.lib" location="${build.dir}/lib"/>
<property name="build.classes" location="${build.dir}/classes"/>
<property name="build.test" location="${build.dir}/test"/>
@@ -47,8 +50,6 @@
<property name="test.log.dir" value="${test.build.dir}/logs"/>
<property name="test.junit.output.format" value="plain"/>
-
- <!-- all jars together -->
<property name="javac.deprecation" value="off"/>
<property name="javac.debug" value="on"/>
@@ -57,15 +58,20 @@
<property name="build.encoding" value="ISO-8859-1"/>
- <!-- the normal classpath -->
- <fileset id="lib.jars" dir="${basedir}" includes="lib/*.jar"/>
+ <!--We need to have the hadoop jars ride in front of the hbase classes or we
+ get the below exceptions:
+
+ [junit] java.io.FileNotFoundException: file:/Users/stack/Documents/checkouts/hbase/trunk/build/webapps/dfs
+ When we move off 0.16.0 hadoop, fix HttpStatusServer
+ -->
+ <fileset id="lib.jars" dir="${basedir}" includes="lib/*.jar"/>
<path id="classpath">
- <pathelement location="${build.classes}"/>
<fileset refid="lib.jars"/>
- <fileset dir="${basedir}/lib/jetty-ext/">
- <include name="*jar" />
+ <fileset dir="${lib.dir}/jetty-ext/">
+ <include name="*jar" />
</fileset>
+ <pathelement location="${build.classes}"/>
<pathelement location="${conf.dir}"/>
</path>
@@ -75,12 +81,6 @@
<mkdir dir="${build.test}"/>
<mkdir dir="${build.examples}"/>
- <!--Version is set only if called from hadoop build.xml. Set a default-->
- <condition property="version" value="0.1.0-dev">
- <not>
- <isset property="version" />
- </not>
- </condition>
<!--Copy webapps over to build dir. Exclude jsp and generated-src java
classes -->
<mkdir dir="${build.webapps}"/>
@@ -94,7 +94,7 @@
<!--Copy bin, lib, and conf. too-->
<mkdir dir="${build.lib}"/>
<copy todir="${build.lib}">
- <fileset dir="${basedir}/lib" />
+ <fileset dir="${lib.dir}" />
</copy>
<mkdir dir="${build.conf}"/>
<copy todir="${build.conf}">
@@ -107,6 +107,9 @@
<chmod perm="ugo+x" type="file">
<fileset dir="${build.bin}" />
</chmod>
+ <exec executable="sh">
+ <arg line="src/saveVersion.sh ${version}"/>
+ </exec>
</target>
<target name="javacc" if="javacc.home">
@@ -131,7 +134,6 @@
debug="${javac.debug}"
deprecation="${javac.deprecation}">
<classpath refid="classpath"/>
- <classpath path="path"/>
</javac>
</target>
@@ -185,11 +187,12 @@
<!-- Run unit tests -->
<!-- ================================================================== -->
<path id="test.classpath">
+ <path refid="classpath"/>
<pathelement location="${build.test}" />
<pathelement location="${src.test}"/>
<pathelement location="${conf.dir}"/>
<pathelement location="${build.dir}"/>
- <path refid="classpath"/>
+ <pathelement location="${build.webapps}"/>
</path>
<target name="compile-test" depends="compile" >
Added: hadoop/hbase/trunk/lib/commons-httpclient-3.0.1.jar
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/lib/commons-httpclient-3.0.1.jar?rev=618517&view=auto
==============================================================================
Binary file - no diff available.
Propchange: hadoop/hbase/trunk/lib/commons-httpclient-3.0.1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/VersionAnnotation.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/VersionAnnotation.java?rev=618517&view=auto
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/VersionAnnotation.java (added)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/VersionAnnotation.java Mon Feb 4 18:32:22 2008
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase;
+
+import java.lang.annotation.*;
+
+/**
+ * A package attribute that captures the version of hbase that was compiled.
+ * Copied down from hadoop. All is same except name of interface.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PACKAGE)
+public @interface VersionAnnotation {
+
+ /**
+ * Get the Hadoop version
+ * @return the version string "0.6.3-dev"
+ */
+ String version();
+
+ /**
+ * Get the username that compiled Hadoop.
+ */
+ String user();
+
+ /**
+ * Get the date when Hadoop was compiled.
+ * @return the date in unix 'date' format
+ */
+ String date();
+
+ /**
+ * Get the url for the subversion repository.
+ */
+ String url();
+
+ /**
+ * Get the subversion revision.
+ * @return the revision number as a string (eg. "451451")
+ */
+ String revision();
+}
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/InfoServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/InfoServer.java?rev=618517&r1=618516&r2=618517&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/InfoServer.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/InfoServer.java Mon Feb 4 18:32:22 2008
@@ -178,7 +178,7 @@
private static String getWebAppsPath(final String path) throws IOException {
URL url = InfoServer.class.getClassLoader().getResource(path);
if (url == null)
- throw new IOException("webapps not found in CLASSPATH");
+ throw new IOException("webapps not found in CLASSPATH: " + path);
return url.toString();
}
Added: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/VersionInfo.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/VersionInfo.java?rev=618517&view=auto
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/VersionInfo.java (added)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/VersionInfo.java Mon Feb 4 18:32:22 2008
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.util;
+
+import org.apache.hadoop.hbase.VersionAnnotation;
+
+/**
+ * This class finds the package info for hbase and the VersionAnnotation
+ * information. Taken from hadoop. Only name of annotation is different.
+ */
+public class VersionInfo {
+ private static Package myPackage;
+ private static VersionAnnotation version;
+
+ static {
+ myPackage = VersionAnnotation.class.getPackage();
+ version = myPackage.getAnnotation(VersionAnnotation.class);
+ }
+
+ /**
+ * Get the meta-data for the hbase package.
+ * @return
+ */
+ static Package getPackage() {
+ return myPackage;
+ }
+
+ /**
+ * Get the hbase version.
+ * @return the hbase version string, eg. "0.6.3-dev"
+ */
+ public static String getVersion() {
+ return version != null ? version.version() : "Unknown";
+ }
+
+ /**
+ * Get the subversion revision number for the root directory
+ * @return the revision number, eg. "451451"
+ */
+ public static String getRevision() {
+ return version != null ? version.revision() : "Unknown";
+ }
+
+ /**
+ * The date that hbase was compiled.
+ * @return the compilation date in unix date format
+ */
+ public static String getDate() {
+ return version != null ? version.date() : "Unknown";
+ }
+
+ /**
+ * The user that compiled hbase.
+ * @return the username of the user
+ */
+ public static String getUser() {
+ return version != null ? version.user() : "Unknown";
+ }
+
+ /**
+ * Get the subversion URL for the root hbase directory.
+ */
+ public static String getUrl() {
+ return version != null ? version.url() : "Unknown";
+ }
+
+ public static void main(String[] args) {
+ System.out.println("HBase " + getVersion());
+ System.out.println("Subversion " + getUrl() + " -r " + getRevision());
+ System.out.println("Compiled by " + getUser() + " on " + getDate());
+ }
+}
Added: hadoop/hbase/trunk/src/saveVersion.sh
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/saveVersion.sh?rev=618517&view=auto
==============================================================================
--- hadoop/hbase/trunk/src/saveVersion.sh (added)
+++ hadoop/hbase/trunk/src/saveVersion.sh Mon Feb 4 18:32:22 2008
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# This file is used to generate the annotation of package info that
+# records the user, url, revision and timestamp.
+#
+# Copied from hadoop.
+version=$1
+revision=`svn info | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`
+url=`svn info | sed -n -e 's/URL: \(.*\)/\1/p'`
+user=`whoami`
+date=`date`
+mkdir -p build/src/org/apache/hadoop/hbase
+cat << EOF | \
+ sed -e "s/VERSION/$version/" -e "s/USER/$user/" -e "s/DATE/$date/" \
+ -e "s|URL|$url|" -e "s/REV/$revision/" \
+ > build/src/org/apache/hadoop/hbase/package-info.java
+/*
+ * Generated by src/saveVersion.sh
+ */
+@VersionAnnotation(version="VERSION", revision="REV",
+ user="USER", date="DATE", url="URL")
+package org.apache.hadoop.hbase;
+EOF
Propchange: hadoop/hbase/trunk/src/saveVersion.sh
------------------------------------------------------------------------------
svn:executable = *
Modified: hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java?rev=618517&r1=618516&r2=618517&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java (original)
+++ hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java Mon Feb 4 18:32:22 2008
@@ -233,7 +233,9 @@
* Shut down the mini HBase cluster
*/
public void shutdown() {
- this.hbaseCluster.shutdown();
+ if (this.hbaseCluster != null) {
+ this.hbaseCluster.shutdown();
+ }
if (shutdownDFS) {
StaticTestEnvironment.shutdownDfs(cluster);
}