This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch hadoop-3.4.0
in repository https://gitbox.apache.org/repos/asf/doris-thirdparty.git

commit cf3f82bc5548625480dead2b8f8d54b38ed7b11a
Author: Adonis Ling <[email protected]>
AuthorDate: Fri Jun 2 13:19:33 2023 +0800

    [chore] Build HDFS libraries only (#85)
    
    1. We don't need to build the whole hadoop project. We can build HDFS 
related libraries to save the build time.
    2. Port to GCC-13
---
 build.sh                                               |  5 +++--
 dev-support/bin/dist-layout-stitching                  | 18 ++++++++++--------
 hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml  | 16 ++++++++++++++--
 .../src/main/native/libhdfspp/CMakeLists.txt           |  5 -----
 .../src/CMakeLists.txt                                 |  1 -
 5 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/build.sh b/build.sh
index 717388f3eaf..0cc81fbe3d5 100755
--- a/build.sh
+++ b/build.sh
@@ -38,9 +38,10 @@ 
LIBHDFS_DIST_DIR="${SRC_HOME}/hadoop-dist/target/hadoop-libhdfs-3.3.6"
 rm -rf "${DIST_DIR}"
 rm -rf "${LIBHDFS_DIST_DIR}"
 
-export PATH=${THIRDPARTY_INSTALLED}/bin:$PATH
-mvn clean package -Pnative,dist -DskipTests -Dmaven.javadoc.skip=true \
+mvn clean package -Pdist -DskipTests -Dmaven.javadoc.skip -f 
hadoop-common-project -e
+mvn clean package -Pnative,dist -DskipTests -Dmaven.javadoc.skip -f 
hadoop-hdfs-project \
        -Dthirdparty.installed="${THIRDPARTY_INSTALLED}" 
-Dopenssl.prefix="${THIRDPARTY_INSTALLED}" -e
+mvn clean package -Pdist -DskipTests -Dmaven.javadoc.skip -f hadoop-dist -e
 
 if [[ ! -d "${DIST_DIR}" ]]; then
        echo "${DIST_DIR} is missing. Build failed."
diff --git a/dev-support/bin/dist-layout-stitching 
b/dev-support/bin/dist-layout-stitching
index d4bfd8aaada..4d63d18b238 100755
--- a/dev-support/bin/dist-layout-stitching
+++ b/dev-support/bin/dist-layout-stitching
@@ -142,14 +142,16 @@ run copy 
"${ROOT}/hadoop-mapreduce-project/target/hadoop-mapreduce-${VERSION}" .
 run cp -pr 
"${ROOT}/hadoop-hdfs-project/hadoop-hdfs-httpfs/target/hadoop-hdfs-httpfs-${VERSION}"/*
 .
 run cp -pr 
"${ROOT}/hadoop-common-project/hadoop-kms/target/hadoop-kms-${VERSION}"/* .
 
-# copy client jars as-is
-run mkdir -p "share/hadoop/client"
-run cp -p 
"${ROOT}/hadoop-client-modules/hadoop-client-api/target/hadoop-client-api-${VERSION}.jar"
 share/hadoop/client/
-run cp -p 
"${ROOT}/hadoop-client-modules/hadoop-client-runtime/target/hadoop-client-runtime-${VERSION}.jar"
 share/hadoop/client/
-run cp -p 
"${ROOT}/hadoop-client-modules/hadoop-client-minicluster/target/hadoop-client-minicluster-${VERSION}.jar"
 share/hadoop/client/
-
-run copy 
"${ROOT}/hadoop-tools/hadoop-tools-dist/target/hadoop-tools-dist-${VERSION}" .
-run copy 
"${ROOT}/hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-dist/target/hadoop-dynamometer-dist-${VERSION}"
 .
+if ! ${SKIP_HADOOP_CLIENT_AND_TOOLS:-true}; then
+    # copy client jars as-is
+    run mkdir -p "share/hadoop/client"
+    run cp -p 
"${ROOT}/hadoop-client-modules/hadoop-client-api/target/hadoop-client-api-${VERSION}.jar"
 share/hadoop/client/
+    run cp -p 
"${ROOT}/hadoop-client-modules/hadoop-client-runtime/target/hadoop-client-runtime-${VERSION}.jar"
 share/hadoop/client/
+    run cp -p 
"${ROOT}/hadoop-client-modules/hadoop-client-minicluster/target/hadoop-client-minicluster-${VERSION}.jar"
 share/hadoop/client/
+
+    run copy 
"${ROOT}/hadoop-tools/hadoop-tools-dist/target/hadoop-tools-dist-${VERSION}" .
+    run copy 
"${ROOT}/hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-dist/target/hadoop-dynamometer-dist-${VERSION}"
 .
+fi
 
 
 echo
diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml
index e9be65d4938..3e7589bae1d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml
@@ -226,6 +226,10 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd";>
                 <goals><goal>cmake-compile</goal></goals>
                 <configuration>
                   <source>${basedir}/src</source>
+                  <env>
+                    <CXXFLAGS>-include cstdint</CXXFLAGS>
+                    <PROTOBUF_HOME>${thirdparty.installed}</PROTOBUF_HOME>
+                  </env>
                   <vars>
                     
<GENERATED_JAVAH>${project.build.directory}/native/javah</GENERATED_JAVAH>
                     
<JVM_ARCH_DATA_MODEL>${sun.arch.data.model}</JVM_ARCH_DATA_MODEL>
@@ -237,7 +241,9 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd";>
                     
<CUSTOM_OPENSSL_PREFIX>${openssl.prefix}</CUSTOM_OPENSSL_PREFIX>
                     <CUSTOM_OPENSSL_LIB>${openssl.lib}</CUSTOM_OPENSSL_LIB>
                     
<CUSTOM_OPENSSL_INCLUDE>${openssl.include}</CUSTOM_OPENSSL_INCLUDE>
-                    
<CUSTOM_THIRDPARTY_INSTALLED>${thirdparty.installed}</CUSTOM_THIRDPARTY_INSTALLED>
+                    
<CUSTOM_SNAPPY_PREFIX>${thirdparty.installed}</CUSTOM_SNAPPY_PREFIX>
+                    <HDFSPP_LIBRARY_ONLY>ON</HDFSPP_LIBRARY_ONLY>
+                    <Boost_USE_STATIC_RUNTIME>ON</Boost_USE_STATIC_RUNTIME>
                   </vars>
                   <output>${project.build.directory}</output>
                 </configuration>
@@ -294,6 +300,10 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd";>
                 <goals><goal>cmake-compile</goal></goals>
                 <configuration>
                   <source>${basedir}/src</source>
+                  <env>
+                    <CXXFLAGS>-include cstdint</CXXFLAGS>
+                    <PROTOBUF_HOME>${thirdparty.installed}</PROTOBUF_HOME>
+                  </env>
                   <vars>
                     <CMAKE_C_COMPILER>clang</CMAKE_C_COMPILER>
                     <CMAKE_CXX_COMPILER>clang++</CMAKE_CXX_COMPILER>
@@ -307,7 +317,9 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd";>
                     
<CUSTOM_OPENSSL_PREFIX>${openssl.prefix}</CUSTOM_OPENSSL_PREFIX>
                     <CUSTOM_OPENSSL_LIB>${openssl.lib}</CUSTOM_OPENSSL_LIB>
                     
<CUSTOM_OPENSSL_INCLUDE>${openssl.include}</CUSTOM_OPENSSL_INCLUDE>
-                    
<CUSTOM_THIRDPARTY_INSTALLED>${thirdparty.installed}</CUSTOM_THIRDPARTY_INSTALLED>
+                    
<CUSTOM_SNAPPY_PREFIX>${thirdparty.installed}</CUSTOM_SNAPPY_PREFIX>
+                    <HDFSPP_LIBRARY_ONLY>ON</HDFSPP_LIBRARY_ONLY>
+                    <Boost_USE_STATIC_RUNTIME>ON</Boost_USE_STATIC_RUNTIME>
                   </vars>
                   <output>${project.build.directory}/clang</output>
                 </configuration>
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
index 9fd2ec0e526..a42ee2e2114 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
@@ -34,11 +34,6 @@ enable_testing()
 set(CMAKE_CXX_STANDARD 17)
 include (CTest)
 
-set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} 
"${CUSTOM_THIRDPARTY_INSTALLED}/include")
-set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} 
"${CUSTOM_THIRDPARTY_INSTALLED}/lib")
-set(HDFSPP_LIBRARY_ONLY 1)
-SET(Boost_USE_STATIC_RUNTIME ON)
-
 SET(BUILD_SHARED_HDFSPP TRUE CACHE STRING "BUILD_SHARED_HDFSPP defaulting to 
'TRUE'")
 SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
 
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
index 1a0384d50fd..a96290a093b 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
@@ -66,7 +66,6 @@ check_function_exists(strtoul HAVE_STRTOUL)
 
 # Require snappy.
 set(STORED_CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_LIBRARY_SUFFIXES)
-set(CUSTOM_SNAPPY_PREFIX "${CUSTOM_THIRDPARTY_INSTALLED}")
 hadoop_set_find_shared_library_version("1")
 find_library(SNAPPY_LIBRARY
     NAMES snappy


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to