Преглед изворни кода

Merge pull request #10665 from GordonSmith/HPCC-18769

HPCC-18769 Improve WebPack Experience II

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman пре 7 година
родитељ
комит
1d82d92059
1 измењених фајлова са 23 додато и 19 уклоњено
  1. 23 19
      esp/src/CMakeLists.txt

+ 23 - 19
esp/src/CMakeLists.txt

@@ -21,6 +21,7 @@ if ( "${ECLWATCH_BUILD_STRATEGY}" STREQUAL "SKIP" )
     message ( "-- ECL Watch:  Skipping..." )
 else ()
     message ( "-- ECL Watch:  Packaging Optimized/Built Sources..." )
+    set (NODE_ERROR "")
     execute_process(COMMAND node --version
                     OUTPUT_VARIABLE _VERSION
                     RESULT_VARIABLE _NODE_VERSION_RESULT)
@@ -29,10 +30,10 @@ else ()
         string (REPLACE "." ";" _VERSION_LIST "${NODE_VERSION_STRING}")
         list (GET _VERSION_LIST 0 NODE_VERSION_MAJOR)
         if (${NODE_VERSION_MAJOR} LESS 8)
-            message(FATAL_ERROR "Node version ${NODE_VERSION_MAJOR} is too old, please install NodeJS as per https://github.com/hpcc-systems/HPCC-Platform/wiki/Building-HPCC#prerequisites" )
+            set (NODE_ERROR "Node version ${NODE_VERSION_MAJOR} is too old, please install NodeJS as per https://github.com/hpcc-systems/HPCC-Platform/wiki/Building-HPCC#prerequisites" )
         endif ()
     else ()
-        message(FATAL_ERROR "Unable to locate node/npm, please install NodeJS as per https://github.com/hpcc-systems/HPCC-Platform/wiki/Building-HPCC#prerequisites" )
+        set (NODE_ERROR "Unable to locate node/npm, please install NodeJS as per https://github.com/hpcc-systems/HPCC-Platform/wiki/Building-HPCC#prerequisites" )
     endif ()
 
     set ( ECLWATCH_BUILD_TMP "${CMAKE_CURRENT_BINARY_DIR}/tmp" )
@@ -41,23 +42,26 @@ else ()
 
     install ( CODE "
         if ( ( NOT \"${ECLWATCH_BUILD_STRATEGY}\" STREQUAL \"IF_MISSING\" ) OR ( NOT EXISTS \"${ECLWATCH_BUILD_DEST}\" ) )
-            message ( \"-- ECL Watch:  Rebuilding Site\" )
-            message ( \"---- Build Target: ${ECLWATCH_BUILD_DEST}\" )
-            message ( \"---- Output log:   ${ECLWATCH_BUILD_OUT}\" )
-            message ( \"---- Creating out of source build environment\" )
-            file ( REMOVE_RECURSE \"${ECLWATCH_BUILD_TMP}\" )
-            execute_process ( COMMAND \"${CMAKE_COMMAND}\" -E copy_directory \"${CMAKE_CURRENT_SOURCE_DIR}/.\" \"${ECLWATCH_BUILD_TMP}\")
-            message ( \"---- Installing third party libraries\" )
-            execute_process ( WORKING_DIRECTORY \"${ECLWATCH_BUILD_TMP}\" COMMAND \"npm\" \"install\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
-            message ( \"---- Clean previous build\" )
-            execute_process ( WORKING_DIRECTORY \"${ECLWATCH_BUILD_TMP}\" COMMAND \"npm\" \"run\" \"clean\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\")
-            message ( \"---- Copy resources\" ) 
-            execute_process ( WORKING_DIRECTORY \"${ECLWATCH_BUILD_TMP}\" COMMAND \"npm\" \"run\" \"copy-res\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
-            message ( \"---- Build website\" )
-            execute_process ( WORKING_DIRECTORY \"${ECLWATCH_BUILD_TMP}\" COMMAND \"npm\" \"run\" \"bundle\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
-            execute_process ( COMMAND \"${CMAKE_CURRENT_SOURCE_DIR}/../build.sh\" \"${ECLWATCH_BUILD_DEST}\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
-            execute_process ( COMMAND \"${CMAKE_COMMAND}\" -E copy_directory \"${ECLWATCH_BUILD_TMP}/build/.\" \"${ECLWATCH_BUILD_DEST}\")
-            file ( REMOVE_RECURSE \"${ECLWATCH_BUILD_TMP}\" )
+            if ( NOT \"${NODE_ERROR}\" STREQUAL \"\")
+                message ( FATAL_ERROR \"${NODE_ERROR}\" )
+            else ()
+                message ( \"-- ECL Watch:  Rebuilding Site\" )
+                message ( \"---- Build Target: ${ECLWATCH_BUILD_DEST}\" )
+                message ( \"---- Output log:   ${ECLWATCH_BUILD_OUT}\" )
+                message ( \"---- Creating out of source build environment\" )
+                execute_process ( COMMAND \"${CMAKE_COMMAND}\" -E remove_directory \"${ECLWATCH_BUILD_TMP}\")
+                execute_process ( COMMAND \"${CMAKE_COMMAND}\" -E copy_directory \"${CMAKE_CURRENT_SOURCE_DIR}/.\" \"${ECLWATCH_BUILD_TMP}\")
+                execute_process ( COMMAND \"${CMAKE_COMMAND}\" -E remove_directory \"${ECLWATCH_BUILD_TMP}/node_modules\")
+                message ( \"---- Installing third party libraries\" )
+                execute_process ( WORKING_DIRECTORY \"${ECLWATCH_BUILD_TMP}\" COMMAND \"npm\" \"install\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
+                message ( \"---- Copy resources\" ) 
+                execute_process ( WORKING_DIRECTORY \"${ECLWATCH_BUILD_TMP}\" COMMAND \"npm\" \"run\" \"copy-res\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
+                message ( \"---- Build website\" )
+                execute_process ( WORKING_DIRECTORY \"${ECLWATCH_BUILD_TMP}\" COMMAND \"npm\" \"run\" \"bundle\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
+                execute_process ( COMMAND \"${CMAKE_CURRENT_SOURCE_DIR}/../build.sh\" \"${ECLWATCH_BUILD_DEST}\" OUTPUT_FILE \"${ECLWATCH_BUILD_OUT}\" )
+                execute_process ( COMMAND \"${CMAKE_COMMAND}\" -E copy_directory \"${ECLWATCH_BUILD_TMP}/build/.\" \"${ECLWATCH_BUILD_DEST}\")
+                execute_process ( COMMAND \"${CMAKE_COMMAND}\" -E remove_directory \"${ECLWATCH_BUILD_TMP}\")
+            endif ()
         else ()
             message( \"-- ECL Watch:  Reusing (old) Site\" )
         endif ()