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

yangzhg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 0292b9a  [Enhancement] add build paramnt ENABLE_JAVAUDF, BUILD_DOCS 
(#8612)
0292b9a is described below

commit 0292b9ad9e9c23d1e647d2bcd722d2df93686bcd
Author: Pxl <[email protected]>
AuthorDate: Thu Mar 24 10:53:52 2022 +0800

    [Enhancement] add build paramnt ENABLE_JAVAUDF, BUILD_DOCS (#8612)
    
    * add build parament ENABLE_JAVAUDF,BUILD_DOCS
---
 be/CMakeLists.txt | 30 ++++++++++++------------
 build.sh          | 68 ++++++++++++++++++++++++++++++++++---------------------
 2 files changed, 58 insertions(+), 40 deletions(-)

diff --git a/be/CMakeLists.txt b/be/CMakeLists.txt
index 0f836f4..1a4a622 100644
--- a/be/CMakeLists.txt
+++ b/be/CMakeLists.txt
@@ -477,20 +477,22 @@ include_directories(
     ${THIRDPARTY_DIR}/include/breakpad/
 )
 
-execute_process(COMMAND sh ${BASE_DIR}/../tools/find_libjvm.sh OUTPUT_VARIABLE 
LIBJVM_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
-FILE(GLOB_RECURSE LIB_JVM ${LIBJVM_PATH})
-if(${LIB_JVM} STREQUAL "")
-    message(STATUS "Disable JAVA UDF because there is no libjvm found!")
-else()
-    set(DORIS_DEPENDENCIES
-        ${DORIS_DEPENDENCIES}
-        jvm
-    )
-    add_library(jvm SHARED IMPORTED)
-    set_target_properties(jvm PROPERTIES IMPORTED_LOCATION ${LIB_JVM})
-    include_directories($ENV{JAVA_HOME}/include)
-    include_directories($ENV{JAVA_HOME}/include/linux)
-    add_definitions("-DLIBJVM")
+if (BUILD_JAVA_UDF)
+    execute_process(COMMAND sh ${BASE_DIR}/../tools/find_libjvm.sh 
OUTPUT_VARIABLE LIBJVM_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
+    FILE(GLOB_RECURSE LIB_JVM ${LIBJVM_PATH})
+    if(${LIB_JVM} STREQUAL "")
+        message(STATUS "Disable JAVA UDF because there is no libjvm found!")
+    else()
+        set(DORIS_DEPENDENCIES
+            ${DORIS_DEPENDENCIES}
+            jvm
+        )
+        add_library(jvm SHARED IMPORTED)
+        set_target_properties(jvm PROPERTIES IMPORTED_LOCATION ${LIB_JVM})
+        include_directories($ENV{JAVA_HOME}/include)
+        include_directories($ENV{JAVA_HOME}/include/linux)
+        add_definitions("-DLIBJVM")
+    endif()
 endif()
 
 set(WL_START_GROUP "-Wl,--start-group")
diff --git a/build.sh b/build.sh
index f9bb87c..2380ebc 100755
--- a/build.sh
+++ b/build.sh
@@ -48,10 +48,12 @@ usage() {
 Usage: $0 <options>
   Optional options:
      --be               build Backend
+     --meta-tool        build Backend meta tool
      --fe               build Frontend and Spark Dpp application
      --broker           build Broker
      --ui               build Frontend web ui with npm
      --spark-dpp        build Spark DPP application
+     --java-udf         build Java UDF
      --clean            clean and build target
      -j                 build Backend parallel
 
@@ -63,11 +65,13 @@ Usage: $0 <options>
   Eg.
     $0                                      build all
     $0 --be                                 build Backend without clean
+    $0 --meta-tool                          build Backend meta tool
     $0 --fe --clean                         clean and build Frontend and Spark 
Dpp application, without web UI
     $0 --fe --be --clean                    clean and build Frontend, Spark 
Dpp application and Backend, without web UI
     $0 --spark-dpp                          build Spark DPP application alone
     $0 --fe --ui                            build Frontend web ui with npm
     $0 --broker                             build Broker
+    $0 --be --fe --java-udf                 build Backend and Frontend with 
Java UDF
 
     USE_AVX2=0 $0 --be                      build Backend and not using AVX2 
instruction.
     USE_AVX2=0 STRIP_DEBUG_INFO=ON $0       build all and not using AVX2 
instruction, and strip the debug info.
@@ -105,10 +109,12 @@ OPTS=$(getopt \
   -n $0 \
   -o '' \
   -l 'be' \
+  -l 'meta-tool' \
   -l 'fe' \
   -l 'broker' \
   -l 'ui' \
   -l 'spark-dpp' \
+  -l 'java-udf' \
   -l 'clean' \
   -l 'help' \
   -o 'hj:' \
@@ -126,6 +132,7 @@ BUILD_FE=
 BUILD_BROKER=
 BUILD_UI=
 BUILD_SPARK_DPP=
+BUILD_JAVA_UDF=0
 CLEAN=
 HELP=0
 PARAMETER_COUNT=$#
@@ -148,10 +155,12 @@ else
     while true; do
         case "$1" in
             --be) BUILD_BE=1 ; shift ;;
+            --meta-tool) BUILD_META_TOOL="ON" ; shift ;;
             --fe) BUILD_FE=1 ; shift ;;
             --ui) BUILD_UI=1 ; shift ;;
             --broker) BUILD_BROKER=1 ; shift ;;
             --spark-dpp) BUILD_SPARK_DPP=1 ; shift ;;
+            --java-udf) BUILD_JAVA_UDF=1 ; shift ;;
             --clean) CLEAN=1 ; shift ;;
             -h) HELP=1; shift ;;
             --help) HELP=1; shift ;;
@@ -167,6 +176,8 @@ else
         BUILD_BROKER=1
         BUILD_UI=1
         BUILD_SPARK_DPP=1
+        BUILD_JAVA_UDF=0
+        BUILD_META_TOOL="OFF"
         CLEAN=0
     fi
 fi
@@ -207,7 +218,7 @@ if [[ -z ${USE_LIBCPP} ]]; then
     USE_LIBCPP=OFF
 fi
 if [[ -z ${BUILD_META_TOOL} ]]; then
-    BUILD_META_TOOL=ON
+    BUILD_META_TOOL=OFF
 fi
 if [[ -z ${USE_LLD} ]]; then
     USE_LLD=OFF
@@ -222,6 +233,7 @@ echo "Get params:
     BUILD_BROKER        -- $BUILD_BROKER
     BUILD_UI            -- $BUILD_UI
     BUILD_SPARK_DPP     -- $BUILD_SPARK_DPP
+    BUILD_JAVA_UDF      -- $BUILD_JAVA_UDF
     PARALLEL            -- $PARALLEL
     CLEAN               -- $CLEAN
     WITH_MYSQL          -- $WITH_MYSQL
@@ -246,18 +258,23 @@ make
 
 # Assesmble FE modules
 FE_MODULES=
-if [ ${BUILD_FE} -eq 1 -o ${BUILD_SPARK_DPP} -eq 1 -o ${BUILD_BE} -eq 1 ]; then
-    if [ ${BUILD_FE} -eq 1 -a ${BUILD_BE} -eq 1 ]; then
-        FE_MODULES="fe-common,spark-dpp,fe-core,java-udf"
-    elif [ ${BUILD_FE} -eq 1 -a ${BUILD_BE} -eq 0 ]; then
-        FE_MODULES="fe-common,spark-dpp,fe-core"
-    elif [ ${BUILD_BE} -eq 1 -a ${BUILD_SPARK_DPP} -eq 0 ]; then
-        FE_MODULES="fe-common,fe-core,java-udf"
-    elif [ ${BUILD_BE} -eq 1 -a ${BUILD_SPARK_DPP} -eq 1 ]; then
-        FE_MODULES="fe-common,fe-core,java-udf,spark-dpp"
-    else
-        FE_MODULES="fe-common,spark-dpp"
+if [ ${BUILD_FE} -eq 1 -o ${BUILD_SPARK_DPP} -eq 1 -o ${BUILD_JAVA_UDF} -eq 1 
]; then
+    modules=("fe-common")
+    if [ ${BUILD_FE} -eq 1 ]; then
+        modules+=("fe-core")
+        BUILD_DOCS="ON"
+    fi
+    if [ ${BUILD_SPARK_DPP} -eq 1 ]; then
+        modules+=("spark-dpp")
     fi
+    if [ ${BUILD_JAVA_UDF} -eq 1 ]; then
+        modules+=("java-udf")
+        if [ ${BUILD_FE} -eq 0 ]; then
+            modules+=("fe-core")
+            BUILD_DOCS="ON"
+        fi
+    fi
+    FE_MODULES=$(IFS=, ; echo "${modules[*]}")
 fi
 
 # Clean and build Backend
@@ -283,27 +300,22 @@ if [ ${BUILD_BE} -eq 1 ] ; then
             -DUSE_LIBCPP=${USE_LIBCPP} \
             -DBUILD_META_TOOL=${BUILD_META_TOOL} \
             -DUSE_LLD=${USE_LLD} \
+            -DBUILD_JAVA_UDF=${BUILD_JAVA_UDF} \
             -DSTRIP_DEBUG_INFO=${STRIP_DEBUG_INFO} \
             -DUSE_AVX2=${USE_AVX2} \
             -DGLIBC_COMPATIBILITY=${GLIBC_COMPATIBILITY} ../
     ${BUILD_SYSTEM} -j ${PARALLEL}
     ${BUILD_SYSTEM} install
-    echo "Build Frontend Modules: java-udf"
-    cd ${DORIS_HOME}/fe
-    if [ ${CLEAN} -eq 1 ]; then
-        clean_fe
-    fi
-    if [ ${BUILD_FE} -eq 0 ]; then
-      ${MVN_CMD} package -pl fe-common,fe-core,java-udf -DskipTests
-    fi
     cd ${DORIS_HOME}
 fi
 
-# Build docs, should be built before Frontend
-echo "Build docs"
-cd ${DORIS_HOME}/docs
-./build_help_zip.sh
-cd ${DORIS_HOME}
+if [ "${BUILD_DOCS}" = "ON" ] ; then
+    # Build docs, should be built before Frontend
+    echo "Build docs"
+    cd ${DORIS_HOME}/docs
+    ./build_help_zip.sh
+    cd ${DORIS_HOME}
+fi
 
 function build_ui() {
     # check NPM env here, not in env.sh.
@@ -397,7 +409,11 @@ if [ ${BUILD_BE} -eq 1 ]; then
     cp -r -p ${DORIS_HOME}/be/output/udf/*.a ${DORIS_OUTPUT}/udf/lib/
     cp -r -p ${DORIS_HOME}/be/output/udf/include/* ${DORIS_OUTPUT}/udf/include/
     cp -r -p ${DORIS_HOME}/webroot/be/* ${DORIS_OUTPUT}/be/www/
-    cp -r -p 
${DORIS_HOME}/fe/java-udf/target/java-udf-jar-with-dependencies.jar 
${DORIS_OUTPUT}/be/lib/
+    
+    
java_udf_path=${DORIS_HOME}/fe/java-udf/target/java-udf-jar-with-dependencies.jar
+    if [ -f ${java_udf_path} ];then
+        cp ${java_udf_path} ${DORIS_OUTPUT}/be/lib/
+    fi
 
     cp -r -p ${DORIS_THIRDPARTY}/installed/webroot/* ${DORIS_OUTPUT}/be/www/
     mkdir -p ${DORIS_OUTPUT}/be/log

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

Reply via email to