Browse Source

HADDOP-6771. svn merge -c 947882 from trunk

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.21@947884 13f79535-47bb-0310-9956-ffa450edef68
Konstantin Boudnik 15 years ago
parent
commit
a75f7caae0

+ 3 - 0
CHANGES.txt

@@ -294,6 +294,9 @@ Release 0.21.0 - Unreleased
 
   IMPROVEMENTS
 
+    HADOOP-6771. Herriot's artifact id for Maven deployment should be set to
+    hadoop-core-instrumented (cos)
+
     HADOOP-6752. Remote cluster control functionality needs JavaDocs
     improvement (Balaji Rajagopalan via cos).
 

+ 7 - 1
build.xml

@@ -1217,7 +1217,8 @@
      </artifact:install>
   </target>
 
-  <target name="mvn-deploy" depends="mvn-taskdef, jar, jar-test, set-version"
+  <target name="mvn-deploy" depends="mvn-taskdef, jar, jar-test, set-version,
+    -mvn-system-deploy"
      description="To deploy hadoop core and test jar's to apache snapshot's repository">
      <artifact:pom file="${hadoop-core.pom}" id="hadoop.core"/>
      <artifact:pom file="${hadoop-core-test.pom}" id="hadoop.core.test"/>
@@ -1238,14 +1239,18 @@
   <target name="set-version">
     <delete file="${basedir}/ivy/hadoop-core.xml"/>
     <delete file="${basedir}/ivy/hadoop-core-test.xml"/>
+    <delete file="${basedir}/ivy/hadoop-core-${herriot.suffix}.xml"/>
     <copy file="${basedir}/ivy/hadoop-core-template.xml" tofile="${basedir}/ivy/hadoop-core.xml"/>
     <copy file="${basedir}/ivy/hadoop-core-test-template.xml" tofile="${basedir}/ivy/hadoop-core-test.xml"/>
+    <copy file="${basedir}/ivy/hadoop-core-${herriot.suffix}-template.xml"
+      tofile="${basedir}/ivy/hadoop-core-${herriot.suffix}.xml"/>
     <replaceregexp byline="true">
       <regexp pattern="@version"/>
       <substitution expression="${version}"/>
       <fileset dir="${basedir}/ivy">
         <include name="hadoop-core.xml"/>
         <include name="hadoop-core-test.xml"/>
+        <include name="hadoop-core-${herriot.suffix}.xml"/>
       </fileset>
     </replaceregexp>
   </target>
@@ -1281,6 +1286,7 @@
     <delete dir="${build.dir}"/>
     <delete file="${basedir}/ivy/hadoop-core.xml"/>
     <delete file="${basedir}/ivy/hadoop-core-test.xml"/>
+    <delete file="${basedir}/ivy/hadoop-core-${herriot.suffix}.xml"/>
     <delete dir="${docs.src}/build"/>
     <delete dir="${src.docs.cn}/build"/>
   </target>

+ 1 - 1
ivy/hadoop-core-system-template.xml → ivy/hadoop-core-instrumented-template.xml

@@ -19,7 +19,7 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.hadoop</groupId>
-  <artifactId>hadoop-core</artifactId>
+  <artifactId>hadoop-core-instrumented</artifactId>
   <packaging>jar</packaging>
   <version>@version</version>
   <dependencies>

+ 0 - 258
ivy/hadoop-core-system.pom

@@ -1,258 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <!--
-   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.
-  -->
-
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.hadoop</groupId>
-  <artifactId>hadoop-core-system</artifactId>
-  <packaging>jar</packaging>
-  <version>${hadoop.version}</version>
-  <description>
-    Hadoop is the distributed computing framework of Apache;
-    hadoop-core-system contains shared classes of embeded 
-    Hadoop test framework for system testing.
-  </description>
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://apache.org/licenses/LICENSE-2.0</url>
-    </license>
-  </licenses>
-  <dependencies>
-
-
-    <!-- always include commons-logging and log4J -->
-    <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <version>${commons-logging.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>avalon-framework</groupId>
-          <artifactId>avalon-framework</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.servlet</groupId>
-          <artifactId>servlet-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>logkit</groupId>
-          <artifactId>logkit</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>log4j</groupId>
-          <artifactId>log4j</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>${log4j.version}</version>
-      <scope>optional</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>javax.mail</groupId>
-          <artifactId>mail</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.jms</groupId>
-          <artifactId>jms</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.sun.jdmk</groupId>
-          <artifactId>jmxtools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.sun.jmx</groupId>
-          <artifactId>jmxri</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <!--SLF4J is a JAR-based dependency; this POM binds it to log4J-->
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>${slf4j-api.version}</version>
-      <scope>optional</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>${slf4j-log4j12.version}</version>
-      <scope>optional</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>log4j</groupId>
-          <artifactId>log4j</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <!--Httpclient and its components are optional-->
-
-    <dependency>
-      <groupId>commons-httpclient</groupId>
-      <artifactId>commons-httpclient</artifactId>
-      <version>3.1</version>
-      <scope>optional</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>commons-logging</groupId>
-          <artifactId>commons-logging</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.3</version>
-      <scope>optional</scope>
-    </dependency>
-
-    <!--CLI is needed to scan the command line, but only the 1.0 branch is released -->
-    <dependency>
-      <groupId>commons-cli</groupId>
-      <artifactId>commons-cli</artifactId>
-      <version>2.0-20070823</version>
-      <scope>optional</scope>
-    </dependency>
-
-
-   <!-- this is used for the ftp:// filesystem-->
-    <dependency>
-      <groupId>commons-net</groupId>
-      <artifactId>commons-net</artifactId>
-      <version>1.4.1</version>
-      <scope>optional</scope>
-    </dependency>
-
-    <!-- Jetty is used to serve up the application. It is marked as optional because
-    clients do not need it. All server-side deployments will need
-     all of these files.-->
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <version>${servlet-api.version}</version>
-      <scope>optional</scope>
-    </dependency>
-    <dependency>
-      <groupId>jetty</groupId>
-      <artifactId>org.mortbay.jetty</artifactId>
-      <version>${jetty.version}</version>
-      <scope>optional</scope>
-    </dependency>
-
-
-    <!--JSP support -->
-
-    <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jsp-2.1</artifactId>
-      <version>${jetty.version}</version>
-      <scope>optional</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jsp-api-2.1</artifactId>
-      <version>${jetty.version}</version>
-      <scope>optional</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-el</groupId>
-      <artifactId>commons-el</artifactId>
-      <version>${commons-el.version}</version>
-      <scope>optional</scope>
-    </dependency>
-
-
-    <!--JSPC assistance-->
-
-    <dependency>
-      <groupId>org.eclipse.jdt</groupId>
-      <artifactId>core</artifactId>
-      <version>${core.version}</version>
-      <scope>optional</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.ant</groupId>
-      <artifactId>ant</artifactId>
-      <version>${apacheant.version}</version>
-      <scope>optional</scope>
-    </dependency>
-
-    <!-- JetS3t is a client library for S3.
-    -It is only needed if you want to work with S3 filesystems
-    -It pulls in commons-logging 1.1.1 and does not exclude all the cruft that comes with it.
-    By excluding it we stay in control of versions and dependencies
-    -->
-
-    <dependency>
-      <groupId>net.java.dev.jets3t</groupId>
-      <artifactId>jets3t</artifactId>
-      <version>${jets3t.version}</version>
-      <scope>optional</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>commons-logging</groupId>
-          <artifactId>commons-logging</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <!--Kosmos filesystem
-    http://kosmosfs.sourceforge.net/
-    This is not in the central repository
-    -->
-    <!--
-        <dependency>
-          <groupId>org.kosmix</groupId>
-          <artifactId>kfs</artifactId>
-          <version>0.1</version>
-          <scope>optional</scope>
-        </dependency>
-    -->
-
-    <!--
-     http://xmlenc.sourceforge.net/
-     "The xmlenc library is a fast stream-based XML output library for Java."
-    -->
-    <dependency>
-      <groupId>xmlenc</groupId>
-      <artifactId>xmlenc</artifactId>
-      <version>0.52</version>
-      <scope>optional</scope>
-    </dependency>
-  </dependencies>
-</project>

+ 0 - 127
ivy/hadoop-core-system.xml

@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.hadoop</groupId>
-  <artifactId>hadoop-core-system</artifactId>
-  <packaging>jar</packaging>
-  <version>0.22.0-SNAPSHOT</version>
-  <dependencies>
-   <dependency>
-      <groupId>commons-cli</groupId>
-      <artifactId>commons-cli</artifactId>
-      <version>1.2</version>
-    </dependency>
-   <dependency>
-      <groupId>xmlenc</groupId>
-      <artifactId>xmlenc</artifactId>
-      <version>0.52</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-httpclient</groupId>
-      <artifactId>commons-httpclient</artifactId>
-      <version>3.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.4</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-net</groupId>
-      <artifactId>commons-net</artifactId>
-      <version>1.4.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
-      <version>6.1.14</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
-      <version>6.1.14</version>
-    </dependency>
-    <dependency>
-      <groupId>tomcat</groupId>
-      <artifactId>jasper-runtime</artifactId>
-      <version>5.5.12</version>
-    </dependency>
-    <dependency>
-      <groupId>tomcat</groupId>
-      <artifactId>jasper-compiler</artifactId>
-      <version>5.5.12</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jsp-api-2.1</artifactId>
-      <version>6.1.14</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jsp-2.1</artifactId>
-      <version>6.1.14</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-el</groupId>
-      <artifactId>commons-el</artifactId>
-      <version>1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>net.java.dev.jets3t</groupId>
-      <artifactId>jets3t</artifactId>
-      <version>0.7.1</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-net</groupId>
-      <artifactId>commons-net</artifactId>
-      <version>1.4.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>servlet-api-2.5</artifactId>
-      <version>6.1.14</version>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.kosmosfs</groupId>
-      <artifactId>kfs</artifactId>
-      <version>0.3</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.5</version>
-    </dependency>
-    <dependency>
-      <groupId>hsqldb</groupId>
-      <artifactId>hsqldb</artifactId>
-      <version>1.8.0.10</version>
-    </dependency>
-    <dependency>
-      <groupId>oro</groupId>
-      <artifactId>oro</artifactId>
-      <version>2.0.8</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.hadoop</groupId>
-      <artifactId>avro</artifactId>
-      <version>1.3.0</version>
-    </dependency>
-  </dependencies>
-</project>

+ 26 - 13
src/test/aop/build/aop.xml

@@ -28,12 +28,13 @@
 
   <!-- Properties specifically for system fault-injections and system tests -->
 
-  <property name="hadoop-core-system.pom"
-            location="${ivy.dir}/hadoop-core-system.xml" />
-  <property name="hadoop-core-system.jar"
-            location="${system-test-build-dir}/${final.name}-system.jar" />
-  <property name="hadoop-core-system-sources.jar"
-            location="${system-test-build-dir}/${final.name}-system-sources.jar" />
+  <property name="herriot.suffix" value="instrumented"/>
+  <property name="hadoop-core-instrumented.pom"
+            location="${ivy.dir}/hadoop-core-${herriot.suffix}.xml" />
+  <property name="hadoop-core-instrumented.jar"
+            location="${system-test-build-dir}/${final.name}-${herriot.suffix}.jar" />
+  <property name="hadoop-core-instrumented-sources.jar"
+            location="${system-test-build-dir}/${final.name}-${herriot.suffix}-sources.jar" />
 
   <!--All Fault Injection (FI) related targets are located in this session -->
     
@@ -128,9 +129,9 @@
     <macro-jar-fault-inject target.name="jar"
       build.dir="${system-test-build-dir}"
       jar.final.name="final.name"
-      jar.final.value="${final.name}-system">
+      jar.final.value="${final.name}-${herriot.suffix}">
     </macro-jar-fault-inject>
-    <jar jarfile="${system-test-build-dir}/${final.name}-system-sources.jar"
+    <jar jarfile="${system-test-build-dir}/${final.name}-${herriot.suffix}-sources.jar"
       update="yes">
       <fileset dir="${test.src.dir}/system/java" includes="org/apache/hadoop/**/*.java"/>
       <fileset dir="${test.src.dir}/system/aop" includes="org/apache/hadoop/**/*.aj"/>
@@ -248,14 +249,26 @@
     </exec>
   </target>
   <!-- End of cluster controller binary target -->
-  <!-- Maven -->
 
+  <!-- Maven -->
   <target name="-mvn-system-install" depends="mvn-taskdef, jar-system">
-    <artifact:pom file="${hadoop-core-system.pom}" id="hadoop.core.system"/>
-    <artifact:install file="${hadoop-core-system.jar}">
-       <pom refid="hadoop.core.system"/>
-       <attach file="${hadoop-core-system-sources.jar}" classifier="sources" />
+    <artifact:pom file="${hadoop-core-instrumented.pom}" id="hadoop.core.${herriot.suffix}"/>
+    <artifact:install file="${hadoop-core-instrumented.jar}">
+       <pom refid="hadoop.core.${herriot.suffix}"/>
+       <attach file="${hadoop-core-instrumented-sources.jar}" classifier="sources" />
     </artifact:install>
   </target>
 
+  <target name="-mvn-system-deploy" depends="mvn-taskdef, jar-system">
+     <artifact:pom file="${hadoop-core-instrumented.pom}" 
+                   id="hadoop.core.${herriot.suffix}"/>
+
+     <artifact:install-provider artifactId="wagon-http" version="1.0-beta-2"/>
+     <artifact:deploy file="${hadoop-core-instrumented.jar}">
+         <remoteRepository id="apache.snapshots.https" url="${asfrepo}"/>
+         <pom refid="hadoop.core.${herriot.suffix}"/>
+	       <attach file="${hadoop-core-instrumented-sources.jar}" classifier="sources"/> 
+     </artifact:deploy>
+  </target>
+  <!-- End of Maven -->
 </project>