From 22315ee95de15895b269745fb76ef44c2e14f6ef Mon Sep 17 00:00:00 2001 From: Dave Cottlehuber Date: Tue, 19 Feb 2013 14:51:30 +0100 Subject: [PATCH] support jenkins - remove dependencies on $COUCH_TOP - accept parameters via non-interactive mode --- bin/couchdb_build.sh | 2 +- bin/couchdb_config.sh | 10 +++++----- bin/shell.cmd | 13 ++++++++++++- bin/shell.sh | 12 +++++++++++- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/bin/couchdb_build.sh b/bin/couchdb_build.sh index a20ad48..0919000 100755 --- a/bin/couchdb_build.sh +++ b/bin/couchdb_build.sh @@ -28,7 +28,7 @@ tar cvzf $COUCH_TOP/build_pdbs-logs.tar.gz \ echo DONE. echo to move build files to release area run the following: echo PATCH=_otp_$OTP_REL.exe -echo DEST=/relax/release/CouchDB/Snapshots/`date +%Y%m%d` +echo DEST=/cygdrive/c/jenkins/release/CouchDB/Snapshots/`date +%Y%m%d` echo pushd $COUCH_TOP/etc/windows/ echo rename .exe \$PATCH setup-couchdb-* echo WINCOUCH=\`ls -1 setup-*.exe\` diff --git a/bin/couchdb_config.sh b/bin/couchdb_config.sh index d3da8ae..fe1412a 100755 --- a/bin/couchdb_config.sh +++ b/bin/couchdb_config.sh @@ -1,19 +1,19 @@ #!/bin/sh COUCH_TOP=`pwd` export COUCH_TOP +export RELAX=`cygpath $RELAX` echo ============= COUCHDB_CONFIG CONFIGURE =================== ./configure \ --prefix=$ERL_TOP/release/win32 \ --with-erlang=$ERL_TOP/release/win32/usr/include \ ---with-win32-icu-binaries=$COUCH_TOP/../icu \ ---with-openssl-bin-dir=$COUCH_TOP/../openssl/bin \ +--with-win32-icu-binaries=$RELAX/icu \ +--with-openssl-bin-dir=$RELAX/openssl/bin \ --with-msvc-redist-dir=$ERL_TOP/.. \ ---with-js-lib=$COUCH_TOP/../js-1.8.5/js/src/dist/lib \ ---with-js-include=$COUCH_TOP/../js-1.8.5/js/src/dist/include \ +--with-js-lib=$RELAX/js-1.8.5/js/src/dist/lib \ +--with-js-include=$RELAX/js-1.8.5/js/src/dist/include \ --disable-init \ --disable-launchd \ ---disable-docs \ #--with-win32-curl=$COUCH_TOP/../curl \ 2>&1 | tee $COUCH_TOP/build_configure.txt diff --git a/bin/shell.cmd b/bin/shell.cmd index 646a790..a2c1cff 100755 --- a/bin/shell.cmd +++ b/bin/shell.cmd @@ -16,6 +16,11 @@ if not defined ICU_PATH set ICU_PATH=%RELAX%\icu if not defined CURL_PATH set CURL_PATH=%RELAX%\curl if not defined ZLIB_PATH set ZLIB_PATH=%RELAX%\zlib +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: haul in MSVC compiler configuration +:: TODO remove dependency on x86 flag +call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /release + :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: LIB and INCLUDE are preset by Windows SDK and/or Visual C++ shells :: however VC++ uses LIB & INCLUDE and SDK uses Lib & Include. In Cygwin @@ -38,8 +43,14 @@ set LIBPATH=%LIBPATH%;%SSL_PATH%\lib;%CURL_PATH%\lib;%ICU_PATH%\lib; set LIB=%LIB%;%SSL_PATH%\lib;%CURL_PATH%\lib;%ICU_PATH%\lib; :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -::check which version of erlang setup we want +:: check which version of erlang setup we want +:: pick up from jenkins if required +if not defined BUILD_WITH_JENKINS goto select +if not defined OTP_REL goto select +goto %OTP_REL% +:: no default, so let's ask the user instead! :: choice.exe exists on all windows platforms since MSDOS but not on XP +:select echo select: echo 3 for R15b03-1 echo 4 for R14b04 diff --git a/bin/shell.sh b/bin/shell.sh index fcb6a5f..200be8d 100755 --- a/bin/shell.sh +++ b/bin/shell.sh @@ -87,4 +87,14 @@ echo echo Ready to build Erlang and CouchDB using Erlang $ERTS_VSN OTP $OTP_VER in $ERL_TOP echo Time to Relax. -bash -i +if [ -z "$BUILD_WITH_JENKINS" ] ; then + bash -i +else + cd $WORKSPACE + git clean -fdx + git reset --hard + ./bootstrap + /relax/bin/couchdb_config.sh + /relax/bin/couchdb_build.sh +fi +