Browse Source

HADOOP-7528. Maven build fails in Windows. Contributed by Alejandro Abdelnur.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1155448 13f79535-47bb-0310-9956-ffa450edef68
Thomas White 13 years ago
parent
commit
0a2b40fad5
5 changed files with 48 additions and 24 deletions
  1. 0 3
      hadoop-assemblies/pom.xml
  2. 3 0
      hadoop-common/CHANGES.txt
  3. 44 14
      hadoop-common/pom.xml
  4. 1 4
      hadoop-project/pom.xml
  5. 0 3
      pom.xml

+ 0 - 3
hadoop-assemblies/pom.xml

@@ -67,9 +67,6 @@
             <requireJavaVersion>
               <version>1.6</version>
             </requireJavaVersion>
-            <requireOS>
-              <family>unix</family>
-            </requireOS>
           </rules>
         </configuration>
         <executions>

+ 3 - 0
hadoop-common/CHANGES.txt

@@ -464,6 +464,9 @@ Trunk (unreleased changes)
     HADOOP-7523. Test org.apache.hadoop.fs.TestFilterFileSystem fails due to
     java.lang.NoSuchMethodException. (John Lee via tomwhite)
 
+    HADOOP-7528. Maven build fails in Windows. (Alejandro Abdelnur via
+    tomwhite)
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 44 - 14
hadoop-common/pom.xml

@@ -853,11 +853,17 @@
                     <!-- Using Unix script to preserve symlinks -->
                     <echo file="${project.build.directory}/tar-copynativelibs.sh">
 
+                      which cygpath 2> /dev/null
+                      if [ $? = 1 ]; then
+                        BUILD_DIR="${project.build.directory}"
+                      else
+                        BUILD_DIR=`cygpath --unix '${project.build.directory}'`
+                      fi
                       TAR='tar cf -'
                       UNTAR='tar xfBp -'
-                      LIB_DIR="${project.build.directory}/native/target/usr/local/lib"
+                      LIB_DIR="${BUILD_DIR}/native/target/usr/local/lib"
                       if [ -d $${LIB_DIR} ] ; then
-                      TARGET_DIR="${project.build.directory}/${project.artifactId}-${project.version}/lib/native/${build.platform}"
+                      TARGET_DIR="${BUILD_DIR}/${project.artifactId}-${project.version}/lib/native/${build.platform}"
                       mkdir -p $${TARGET_DIR}
                       cd $${LIB_DIR}
                       $$TAR *hadoop* | (cd $${TARGET_DIR}/; $$UNTAR)
@@ -881,11 +887,20 @@
                 </goals>
                 <configuration>
                   <target>
-                    <!-- Using Unix tar to preserve symlinks -->
-                    <exec executable="tar" dir="${project.build.directory}" failonerror="yes">
-                      <arg value="czf"/>
-                      <arg value="${project.build.directory}/${project.artifactId}-${project.version}.tar.gz"/>
-                      <arg value="${project.artifactId}-${project.version}"/>
+                    <!-- Using Unix script to preserve symlinks -->
+                    <echo file="${project.build.directory}/tar-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="./tar-maketar.sh"/>
                     </exec>
                   </target>
                 </configuration>
@@ -946,11 +961,17 @@
                     <!-- Using Unix script to preserve symlinks -->
                     <echo file="${project.build.directory}/bintar-copynativelibs.sh">
 
+                      which cygpath 2> /dev/null
+                      if [ $? = 1 ]; then
+                        BUILD_DIR="${project.build.directory}"
+                      else
+                        BUILD_DIR=`cygpath --unix '${project.build.directory}'`
+                      fi
                       TAR='tar cf -'
                       UNTAR='tar xfBp -'
-                      LIB_DIR="${project.build.directory}/native/target/usr/local/lib"
+                      LIB_DIR="${BUILD_DIR}/native/target/usr/local/lib"
                       if [ -d $${LIB_DIR} ] ; then
-                      TARGET_DIR="${project.build.directory}/${project.artifactId}-${project.version}-bin/lib"
+                      TARGET_DIR="${BUILD_DIR}/${project.artifactId}-${project.version}-bin/lib"
                       mkdir -p $${TARGET_DIR}
                       cd $${LIB_DIR}
                       $$TAR *hadoop* | (cd $${TARGET_DIR}/; $$UNTAR)
@@ -974,11 +995,20 @@
                 </goals>
                 <configuration>
                   <target>
-                    <!-- Using Unix tar to preserve symlinks -->
-                    <exec executable="tar" dir="${project.build.directory}" failonerror="yes">
-                      <arg value="czf"/>
-                      <arg value="${project.build.directory}/${project.artifactId}-${project.version}-bin.tar.gz"/>
-                      <arg value="${project.artifactId}-${project.version}-bin"/>
+                    <!-- Using Unix script to preserve symlinks -->
+                    <echo file="${project.build.directory}/bintar-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}-bin.tar.gz ${project.artifactId}-${project.version}-bin
+                    </echo>
+                    <exec executable="sh" dir="${project.build.directory}" failonerror="true">
+                      <arg line="./bintar-maketar.sh"/>
                     </exec>
                   </target>
                 </configuration>

+ 1 - 4
hadoop-project/pom.xml

@@ -462,9 +462,6 @@
             <requireJavaVersion>
               <version>1.6</version>
             </requireJavaVersion>
-            <requireOS>
-              <family>unix</family>
-            </requireOS>
           </rules>
         </configuration>
         <executions>
@@ -507,7 +504,7 @@
       <id>os.linux</id>
       <activation>
         <os>
-          <family>Linux</family>
+          <family>!Mac</family>
         </os>
       </activation>
       <properties>

+ 0 - 3
pom.xml

@@ -79,9 +79,6 @@
             <requireJavaVersion>
               <version>1.6</version>
             </requireJavaVersion>
-            <requireOS>
-              <family>unix</family>
-            </requireOS>
           </rules>
         </configuration>
         <executions>