diff --git a/buildconfig/Jenkins/buildscript b/buildconfig/Jenkins/buildscript index d4fb2f75f0be02f48d78c4bf10f9bb513df44266..72e46bbb6498589a1f368afae6e66658f0a25fb1 100755 --- a/buildconfig/Jenkins/buildscript +++ b/buildconfig/Jenkins/buildscript @@ -107,12 +107,14 @@ fi # For a clean build the entire thing is removed to guarantee it is clean. All # other build types are assumed to be incremental and the following items # are removed to ensure stale build objects don't interfere with each other: +# - those removed by git clean -fdx --exclude=`basename $BUILD_DIR` # - build/bin/**: if libraries are removed from cmake they are not deleted # from bin and can cause random failures # - build/ExternalData/**: data files will change over time and removing # the links helps keep it fresh ############################################################################### -BUILD_DIR=$WORKSPACE/build +BUILD_DIR_REL=build +BUILD_DIR=$WORKSPACE/$BUILD_DIR_REL if [ -z "$BUILD_DIR" ]; then echo "Build directory not set. Cannot continue" exit 1 @@ -122,6 +124,7 @@ if [[ "$CLEANBUILD" == true ]]; then rm -rf $BUILD_DIR fi if [ -d $BUILD_DIR ]; then + git clean -fdx --exclude=${BUILD_DIR_REL} rm -rf ${BUILD_DIR:?}/bin ${BUILD_DIR:?}/ExternalData find ${BUILD_DIR:?} -name 'TEST-*.xml' -delete if [[ -n ${CLEAN_EXTERNAL_PROJECTS} && "${CLEAN_EXTERNAL_PROJECTS}" == true ]]; then diff --git a/buildconfig/Jenkins/buildscript.bat b/buildconfig/Jenkins/buildscript.bat index 76f486247cfdc1842e0056bb7928d5830fece519..4cec5587e1848a9545c5e46c6669b1bec4807525 100755 --- a/buildconfig/Jenkins/buildscript.bat +++ b/buildconfig/Jenkins/buildscript.bat @@ -84,12 +84,14 @@ if not "%JOB_NAME%" == "%JOB_NAME:debug=%" ( :: For a clean build the entire thing is removed to guarantee it is clean. All :: other build types are assumed to be incremental and the following items :: are removed to ensure stale build objects don't interfere with each other: +:: - those removed by git clean -fdx --exclude=build :: - build/bin: if libraries are removed from cmake they are not deleted :: from bin and can cause random failures :: - build/ExternalData/**: data files will change over time and removing :: the links helps keep it fresh ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set BUILD_DIR=%WORKSPACE%\build +set BUILD_DIR_REL=build +set BUILD_DIR=%WORKSPACE%\%BUILD_DIR_REL% call %~dp0setupcompiler.bat %BUILD_DIR% if "!CLEANBUILD!" == "yes" ( @@ -98,6 +100,7 @@ if "!CLEANBUILD!" == "yes" ( ) if EXIST %BUILD_DIR% ( + git clean -fdx --exclude=%BUILD_DIR_REL% rmdir /S /Q %BUILD_DIR%\bin %BUILD_DIR%\ExternalData for /f %%F in ('dir /b /a-d /S "TEST-*.xml"') do del /Q %%F >/nul if "!CLEAN_EXTERNAL_PROJECTS!" == "true" (