diff --git a/build-chm.bat b/build-chm.bat index 651b9bf25f..2b4824ff4a 100644 --- a/build-chm.bat +++ b/build-chm.bat @@ -8,34 +8,34 @@ set HHP_MACRO=help\macro\macro.HHP set HHP_PLUGIN=help\plugin\plugin.hhp set HHP_SAKURA=help\sakura\sakura.hhp -@rem hhc.exe returns 1 on success, and returns 0 on failure -"%CMD_HHC%" %HHP_MACRO% -if not errorlevel 1 ( - echo error %HHP_MACRO% errorlevel %errorlevel% - "%CMD_HHC%" %HHP_MACRO% -) -if not errorlevel 1 ( - echo error %HHP_MACRO% errorlevel %errorlevel% - exit /b 1 -) +set CHM_MACRO=help\macro\macro.chm +set CHM_PLUGIN=help\plugin\plugin.chm +set CHM_SAKURA=help\sakura\sakura.chm -"%CMD_HHC%" %HHP_PLUGIN% -if not errorlevel 1 ( - echo error %HHP_PLUGIN% errorlevel %errorlevel% - "%CMD_HHC%" %HHP_PLUGIN% -) -if not errorlevel 1 ( - echo error %HHP_PLUGIN% errorlevel %errorlevel% - exit /b 1 -) +call :BuildChm %HHP_MACRO% %CHM_MACRO% || (echo error && exit /b 1) +call :BuildChm %HHP_PLUGIN% %CHM_PLUGIN% || (echo error && exit /b 1) +call :BuildChm %HHP_SAKURA% %CHM_SAKURA% || (echo error && exit /b 1) +exit /b 0 -"%CMD_HHC%" %HHP_SAKURA% +@rem ------------------------------------------------------------------------------ +@rem BuildChm +@rem ------------------------------------------------------------------------------ +:BuildChm +set PROJECT_HHP=%1 +set PROJECT_CHM=%2 + +if exist "%PROJECT_CHM%" del /F "%PROJECT_CHM%" + +@rem hhc.exe returns 1 on success, and returns 0 on failure +"%CMD_HHC%" %PROJECT_HHP% if not errorlevel 1 ( - echo error %HHP_SAKURA% errorlevel %errorlevel% - "%CMD_HHC%" %HHP_SAKURA% + echo error %PROJECT_HHP% errorlevel %errorlevel% + + del /F "%PROJECT_CHM%" + "%CMD_HHC%" %PROJECT_HHP% ) if not errorlevel 1 ( - echo error %HHP_SAKURA% errorlevel %errorlevel% + echo retry error %PROJECT_HHP% errorlevel %errorlevel% exit /b 1 ) exit /b 0