From 87639b9e260d2831bdbd0fda2642c3cfea3ccca2 Mon Sep 17 00:00:00 2001 From: Hanwei Jin Date: Sat, 13 Oct 2018 00:03:30 +0800 Subject: [PATCH] move make clean before cmake command, avoid always running mvn install plasma java lib (#3047) --- build.sh | 5 ++++- cmake/Modules/ArrowExternalProject.cmake | 13 +++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/build.sh b/build.sh index 496bbdddb..e3e81c72a 100755 --- a/build.sh +++ b/build.sh @@ -101,12 +101,15 @@ fi pushd "$BUILD_DIR" +# avoid the command failed and exits +# and cmake will check some directories to determine whether some targets built +make clean || true + cmake -DCMAKE_BUILD_TYPE=$CBUILD_TYPE \ -DCMAKE_RAY_LANG_JAVA=$RAY_BUILD_JAVA \ -DCMAKE_RAY_LANG_PYTHON=$RAY_BUILD_PYTHON \ -DRAY_USE_NEW_GCS=$RAY_USE_NEW_GCS \ -DPYTHON_EXECUTABLE:FILEPATH=$PYTHON_EXECUTABLE $ROOT_DIR -make clean make -j${PARALLEL} popd diff --git a/cmake/Modules/ArrowExternalProject.cmake b/cmake/Modules/ArrowExternalProject.cmake index da3f27ba9..07c48d97f 100644 --- a/cmake/Modules/ArrowExternalProject.cmake +++ b/cmake/Modules/ArrowExternalProject.cmake @@ -9,6 +9,7 @@ # - ARROW_INCLUDE_DIR # - ARROW_SHARED_LIB # - ARROW_STATIC_LIB +# - ARROW_LIBRARY_DIR # - PLASMA_INCLUDE_DIR # - PLASMA_STATIC_LIB # - PLASMA_SHARED_LIB @@ -95,12 +96,16 @@ ExternalProject_Add(arrow_ep BUILD_BYPRODUCTS "${ARROW_SHARED_LIB}" "${ARROW_STATIC_LIB}") if ("${CMAKE_RAY_LANG_JAVA}" STREQUAL "YES") - ExternalProject_Add_Step(arrow_ep arrow_ep_install_java_lib - COMMAND bash -c "cd ${ARROW_SOURCE_DIR}/java && mvn clean install -pl plasma -am -Dmaven.test.skip > /dev/null" - DEPENDEES build) + set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${ARROW_SOURCE_DIR}/java/target/") + + if(NOT EXISTS ${ARROW_SOURCE_DIR}/java/target/) + ExternalProject_Add_Step(arrow_ep arrow_ep_install_java_lib + COMMAND bash -c "cd ${ARROW_SOURCE_DIR}/java && mvn clean install -pl plasma -am -Dmaven.test.skip > /dev/null" + DEPENDEES build) + endif() # add install of library plasma_java, it is not configured in plasma CMakeLists.txt ExternalProject_Add_Step(arrow_ep arrow_ep_install_plasma_java - COMMAND bash -c "cp ${CMAKE_CURRENT_BINARY_DIR}/external/arrow/src/arrow_ep-build/release/libplasma_java.* ${ARROW_LIBRARY_DIR}/" + COMMAND bash -c "cp -rf ${CMAKE_CURRENT_BINARY_DIR}/external/arrow/src/arrow_ep-build/release/libplasma_java.* ${ARROW_LIBRARY_DIR}/" DEPENDEES install) endif ()