Browse Source

HADOOP-7737. normalize hadoop-mapreduce & hadoop-dist dist/tar build with common/hdfs (tucu)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1183068 13f79535-47bb-0310-9956-ffa450edef68
Alejandro Abdelnur 13 years ago
parent
commit
e9544ef3d2

+ 2 - 2
hadoop-assemblies/src/main/resources/assemblies/hadoop-mapreduce-dist.xml

@@ -3,9 +3,9 @@
   xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
   xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
   <id>hadoop-mapreduce-dist</id>
   <id>hadoop-mapreduce-dist</id>
   <formats>
   <formats>
-    <format>tar.gz</format>
+    <format>dir</format>
   </formats>
   </formats>
-  <includeBaseDirectory>true</includeBaseDirectory>
+  <includeBaseDirectory>false</includeBaseDirectory>
   <!-- TODO: this layout is wrong. We need module specific bin files in module specific dirs -->
   <!-- TODO: this layout is wrong. We need module specific bin files in module specific dirs -->
   <fileSets>
   <fileSets>
     <fileSet>
     <fileSet>

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -42,6 +42,9 @@ Trunk (unreleased changes)
     if the override value is same as the final parameter value.
     if the override value is same as the final parameter value.
     (Ravi Prakash via suresh)
     (Ravi Prakash via suresh)
 
 
+    HADOOP-7737. normalize hadoop-mapreduce & hadoop-dist dist/tar build with 
+    common/hdfs. (tucu)
+
   BUGS
   BUGS
 
 
     HADOOP-7606. Upgrade Jackson to version 1.7.1 to match the version required
     HADOOP-7606. Upgrade Jackson to version 1.7.1 to match the version required

+ 36 - 7
hadoop-dist/pom.xml

@@ -85,13 +85,13 @@
             <executions>
             <executions>
               <execution>
               <execution>
                 <id>dist</id>
                 <id>dist</id>
-                <phase>package</phase>
+                <phase>prepare-package</phase>
                 <goals>
                 <goals>
                   <goal>run</goal>
                   <goal>run</goal>
                 </goals>
                 </goals>
                 <configuration>
                 <configuration>
-                  <target if="tar">
-                    <echo file="${project.build.directory}/dist-tar-stitching.sh">
+                  <target>
+                    <echo file="${project.build.directory}/dist-layout-stitching.sh">
                       run() {
                       run() {
                         echo "\$ ${@}"
                         echo "\$ ${@}"
                         "${@}"
                         "${@}"
@@ -110,9 +110,9 @@
                       run rm -rf hadoop-${project.version}
                       run rm -rf hadoop-${project.version}
                       run mkdir hadoop-${project.version}
                       run mkdir hadoop-${project.version}
                       run cd hadoop-${project.version}
                       run cd hadoop-${project.version}
-                      run tar xzf $ROOT/hadoop-common-project/hadoop-common/target/hadoop-common-${project.version}.tar.gz --strip-components 1
-                      run tar xzf $ROOT/hadoop-hdfs-project/hadoop-hdfs/target/hadoop-hdfs-${project.version}.tar.gz --strip-components 1
-                      run tar xzf $ROOT/hadoop-mapreduce-project/target/hadoop-mapreduce-${project.version}.tar.gz --strip-components 1
+                      run cp -r $ROOT/hadoop-common-project/hadoop-common/target/hadoop-common-${project.version}/* .
+                      run cp -r $ROOT/hadoop-hdfs-project/hadoop-hdfs/target/hadoop-hdfs-${project.version}/* .
+                      run cp -r $ROOT/hadoop-mapreduce-project/target/hadoop-mapreduce-${project.version}/* .
                       COMMON_LIB=share/hadoop/common/lib
                       COMMON_LIB=share/hadoop/common/lib
                       MODULES=../../../../modules
                       MODULES=../../../../modules
                       run ln -s $MODULES/hadoop-mapreduce-client-app-${project.version}.jar $COMMON_LIB
                       run ln -s $MODULES/hadoop-mapreduce-client-app-${project.version}.jar $COMMON_LIB
@@ -122,7 +122,36 @@
                       run ln -s $MODULES/hadoop-mapreduce-client-core-${project.version}.jar $COMMON_LIB
                       run ln -s $MODULES/hadoop-mapreduce-client-core-${project.version}.jar $COMMON_LIB
                       run ln -s $MODULES/hadoop-yarn-server-common-${project.version}.jar $COMMON_LIB
                       run ln -s $MODULES/hadoop-yarn-server-common-${project.version}.jar $COMMON_LIB
                       run ln -s $MODULES/hadoop-mapreduce-client-jobclient-${project.version}.jar $COMMON_LIB
                       run ln -s $MODULES/hadoop-mapreduce-client-jobclient-${project.version}.jar $COMMON_LIB
-                      run cd -
+                      echo
+                      echo "Hadoop dist layout available at: ${project.build.directory}/hadoop-${project.version}"
+                      echo
+                    </echo>
+                    <exec executable="sh" dir="${project.build.directory}" failonerror="true">
+                      <arg line="./dist-layout-stitching.sh"/>
+                    </exec>
+                  </target>
+                </configuration>
+              </execution>
+              <execution>
+                <id>tar</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <target if="tar">
+                    <echo file="${project.build.directory}/dist-tar-stitching.sh">
+                      run() {
+                        echo "\$ ${@}"
+                        "${@}"
+                        if [ $? != 0 ]; then
+                          echo
+                          echo "Failed!"
+                          echo
+                          exit $?
+                        fi
+                      }
+
                       run tar czf hadoop-${project.version}.tar.gz hadoop-${project.version}
                       run tar czf hadoop-${project.version}.tar.gz hadoop-${project.version}
                       echo
                       echo
                       echo "Hadoop dist tar available at: ${project.build.directory}/hadoop-${project.version}.tar.gz"
                       echo "Hadoop dist tar available at: ${project.build.directory}/hadoop-${project.version}.tar.gz"

+ 66 - 29
hadoop-mapreduce-project/pom.xml

@@ -302,6 +302,33 @@
               <goal>run</goal>
               <goal>run</goal>
             </goals>
             </goals>
           </execution>
           </execution>
+          <execution>
+            <id>tar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <!-- this is identical from hadoop-project-dist, eventually they must be unified -->
+              <target if="tar">
+                <!-- Using Unix script to preserve symlinks -->
+                <echo file="${project.build.directory}/dist-maketar.sh">
+
+                  which cygpath 2> /dev/null
+                  if [ $? = 1 ]; then
+                    BUILD_DIR="${project.build.directory}"
+                  else
+                    BUILD_DIR=`cygpath --unix '${project.build.directory}'`
+                  fi
+                  cd $BUILD_DIR
+                  tar czf ${project.artifactId}-${project.version}.tar.gz ${project.artifactId}-${project.version}
+                </echo>
+                <exec executable="sh" dir="${project.build.directory}" failonerror="true">
+                  <arg line="./dist-maketar.sh"/>
+                </exec>
+              </target>
+            </configuration>
+          </execution>
         </executions>
         </executions>
       </plugin>
       </plugin>
       <plugin>
       <plugin>
@@ -320,35 +347,6 @@
           </execution>
           </execution>
         </executions>
         </executions>
       </plugin>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.hadoop</groupId>
-            <artifactId>hadoop-assemblies</artifactId>
-            <version>${hadoop.assemblies.version}</version>
-          </dependency>
-        </dependencies>
-        <configuration>
-          <tarLongFileMode>gnu</tarLongFileMode>
-          <appendAssemblyId>false</appendAssemblyId>
-          <attach>false</attach>
-          <finalName>${project.artifactId}-${project.version}</finalName>
-          <descriptorRefs>
-            <descriptorRef>hadoop-mapreduce-dist</descriptorRef>
-          </descriptorRefs>
-        </configuration>
-        <executions>
-          <execution>
-            <id>tar</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
       <plugin>
       <plugin>
         <groupId>com.atlassian.maven.plugins</groupId>
         <groupId>com.atlassian.maven.plugins</groupId>
         <artifactId>maven-clover2-plugin</artifactId>
         <artifactId>maven-clover2-plugin</artifactId>
@@ -401,6 +399,45 @@
             </executions>
             </executions>
           </plugin>
           </plugin>
         </plugins>
         </plugins>
+      </build>      
+    </profile>
+    <profile>
+      <id>dist</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <dependencies>
+              <dependency>
+                <groupId>org.apache.hadoop</groupId>
+                <artifactId>hadoop-assemblies</artifactId>
+                <version>${project.version}</version>
+              </dependency>
+            </dependencies>
+            <configuration>
+              <tarLongFileMode>gnu</tarLongFileMode>
+              <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
+              <finalName>${project.artifactId}-${project.version}</finalName>
+              <descriptorRefs>
+                <descriptorRef>hadoop-mapreduce-dist</descriptorRef>
+              </descriptorRefs>
+            </configuration>
+            <executions>
+              <execution>
+                <id>dist</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
       </build>
       </build>
     </profile>
     </profile>
   </profiles>
   </profiles>