From 7c86c2113644a77cd43a866d7d2d6b98842c457a Mon Sep 17 00:00:00 2001 From: Pasin Suriyentrakorn Date: Tue, 18 Sep 2018 14:14:53 -0700 Subject: [PATCH] Update BuildFramework.sh and .gitignore * Cleaned up BuildFramework.sh * Updated .gitignore to ingore /apidoc/ --- .gitignore | 1 + BuildScripts/BuildFramework.sh | 102 ++++++++++++++++----------------- 2 files changed, 49 insertions(+), 54 deletions(-) diff --git a/.gitignore b/.gitignore index 37cdfd142..42ec1637e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ *~ xcuserdata/ /build/ +/apidoc/ DerivedData/ obj/ derived_src/ diff --git a/BuildScripts/BuildFramework.sh b/BuildScripts/BuildFramework.sh index fecaaae23..5f7e030dd 100755 --- a/BuildScripts/BuildFramework.sh +++ b/BuildScripts/BuildFramework.sh @@ -1,12 +1,8 @@ if [[ -e ~jenkins/.bash_profile ]] ; then source ~jenkins/.bash_profile ; fi -set -e - -LOG_TAIL=-24 - function usage { - echo -e "\nuse: ${0} release_number build_number edition platform \n\n" + echo -e "\nuse: ${0} release_number build_number edition platform [rel-stage]\n\n" } if [[ ! ${1} ]] ; then usage ; exit 88 ; fi @@ -68,7 +64,7 @@ then LIB_SQLCIPHER=${BASE_DIR}/${SQLCIPHER}/libs/osx/libsqlcipher.a LIB_SQLCIPHER_DEST=${BASE_DIR}/vendor/SQLCipher/libs/osx else - echo -e "\nUnsupported OS: ${OS}\n" + echo -e "\nUnsupported OS: ${OS}\n" exit 555 fi @@ -82,7 +78,7 @@ rm -f ${BASE_DIR}/*.zip DOC_ZIP_FILE=couchbase-lite-${OS}-${EDITION}_${REVISION}_Documentation.zip DOC_ZIP_PATH=${BASE_DIR}/${DOC_ZIP_FILE} -DOC_ZIP_ROOT=${BASE_DIR}/build_doc/Release +DOC_ZIP_ROOT=${BASE_DIR}/apidoc/Release DOC_ZIP_ROOT_DIR=${DOC_ZIP_ROOT}/${REVISION} BUILD_REPO_DIR=${WORKSPACE}/build @@ -97,20 +93,20 @@ RME_DEST=${ZIP_SRCD} git show --stat REPO_SHA=`git log --oneline --pretty="format:%H" -1` -echo "============================================ Prepare ${ZIP_FILE}" +echo "> Prepare ${ZIP_FILE}" if [[ -e ${ZIP_SRCD} ]] ; then rm -rf ${ZIP_SRCD} ; fi mkdir -p ${ZIP_SRCD} -# Download build repo +# Download build repo: if [[ ! -e ${BUILD_REPO_DIR} ]] then - echo "============================================ Clone https://github.com/couchbase/build.git ..." + echo "> Clone https://github.com/couchbase/build.git ..." git clone https://github.com/couchbase/build.git ${BUILD_REPO_DIR} fi if [[ ! -e ${BUILD_REPO_DIR} ]] then - echo -e "License files not found\n" + echo -e "\nLicense files not found\n" exit 555 fi @@ -124,16 +120,15 @@ cd ${BASE_DIR} if [[ ! -e ${LIB_SQLCIPHER_DEST} ]] ; then mkdir -p ${LIB_SQLCIPHER_DEST} ; fi cp ${LIB_SQLCIPHER} ${LIB_SQLCIPHER_DEST} -echo "Building target=${OS} ${SDK}" +echo "> Building target=${OS} ${SDK}" BUILD_VERSION="CURRENT_PROJECT_VERSION=${BLD_NUM} CBL_VERSION_STRING=${CBL_VERSION} CBL_SOURCE_REVISION=${REPO_SHA}" XCODE_CMD="xcodebuild -scheme \"${SCHEME}\" -sdk \"${SDK}\" -configuration Release RUN_CLANG_STATIC_ANALYZER=NO ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= ${BUILD_VERSION}" -echo "Using command: ${XCODE_CMD}" -echo "Using command: ${XCODE_CMD}" >> ${LOG_FILE} -echo ============================================ ${OS} target: ${TARGET} -echo ============================================ ${OS} target: ${TARGET} >> ${LOG_FILE} +echo "> XCode command: ${XCODE_CMD}" +echo "> XCode command: ${XCODE_CMD}" >> ${LOG_FILE} +# Run xcode build command: eval "${XCODE_CMD} clean build 2>&1" >> ${LOG_FILE} BUILD_DIR=`eval "${XCODE_CMD} -showBuildSettings" | grep -w BUILD_DIR | head -n 1 | awk '{ print $3 }'` @@ -147,42 +142,38 @@ else BUILT_DOC_DIR="${BUILT_PRODUCTS_DIR}/Documentation" fi -echo "Built Product Directory: ${BUILT_PRODUCTS_DIR}" -echo "Built Documentation Directory: ${BUILT_DOC_DIR}" +echo "> Built Product Directory: ${BUILT_PRODUCTS_DIR}" + +echo "> Built Documentation Directory: ${BUILT_DOC_DIR}" if [[ -e ${LOGFILE} ]] then - echo - echo "======================================= ${LOGFILE}" - echo ". . ." - tail ${LOG_TAIL} ${LOGFILE} + echo "> Log file: ${LOGFILE} ..." + tail ${LOG_TAIL} ${LOGFILE} fi # Documentation: -echo ============================================ Package ${DOC_ZIP_FILE} +echo "> Package : ${DOC_ZIP_FILE}" DOC_LOG=${WORKSPACE}/doc_zip.log if [[ -e ${DOC_LOG} ]] ; then rm -f ${DOC_LOG} ; fi rm -rf "${DOC_ZIP_ROOT_DIR}" mkdir -p "${DOC_ZIP_ROOT_DIR}" mv "${BUILT_DOC_DIR}" "${DOC_ZIP_ROOT_DIR}" pushd "${DOC_ZIP_ROOT}" 2>&1 > /dev/null - -echo ============================================ Create ${DOC_ZIP_PATH} -( zip -ry ${DOC_ZIP_PATH} ${REVISION} 2>&1 ) >> ${DOC_LOG} +( zip -ry ${DOC_ZIP_PATH} ${REVISION} 2>&1 ) >> ${DOC_LOG} if [[ -e ${DOC_LOG} ]] then echo - echo "============================================ ${DOC_LOG}" - echo ". . ." - tail ${LOG_TAIL} ${DOC_LOG} + echo "> ${DOC_LOG} ..." + tail ${LOG_TAIL} ${DOC_LOG} fi -popd 2>&1 > /dev/null +popd 2>&1 > /dev/null -# Built Artifacts: -echo ============================================== Update ${ZIP_FILE} -cp -R "${BUILT_PRODUCTS_DIR}"/* ${ZIP_SRCD} -cp ${README_F} ${RME_DEST} -cp ${LICENSEF} ${LIC_DEST} +# Copy files: +echo "> Prepare ${ZIP_FILE}" +cp -R "${BUILT_PRODUCTS_DIR}"/* ${ZIP_SRCD} +cp ${README_F} ${RME_DEST} +cp ${LICENSEF} ${LIC_DEST} if [[ $OS =~ macosx ]] then @@ -197,20 +188,17 @@ else cp ${ZIP_SRCD}/libCBLJSViewCompiler.a "${EXTRAS_DIR}" fi -# Stage OpenIDConnectUI for ios and macos -if [[ ${VERSION} == 0.0.0 ]] || [[ ${VERSION} > 1.2.0 ]] +# Copy OpenIDConnectUI for ios and macos +if [[ $OS =~ ios ]] || [[ $OS =~ macosx ]] then - if [[ $OS =~ ios ]] || [[ $OS =~ macosx ]] - then - if [[ ! -e ${EXTRAS_DIR} ]] ; then mkdir -p ${EXTRAS_DIR} ; fi - cp -rf ${OPENID_SRC} ${EXTRAS_DIR} - elif [[ $OS =~ tvos ]] - then - if [[ -e ${EXTRAS_DIR}/OpenIDConnectUI ]] ; then rm -rf ${EXTRAS_DIR}/OpenIDConnectUI ; fi - fi +if [[ ! -e ${EXTRAS_DIR} ]] ; then mkdir -p ${EXTRAS_DIR} ; fi +cp -rf ${OPENID_SRC} ${EXTRAS_DIR} +elif [[ $OS =~ tvos ]] +then +if [[ -e ${EXTRAS_DIR}/OpenIDConnectUI ]] ; then rm -rf ${EXTRAS_DIR}/OpenIDConnectUI ; fi fi -# Postprocessing: +# Postprocess & cleanup: cd ${ZIP_SRCD} rm -rf ${ZIP_SRCD}/*.a rm -rf ${ZIP_SRCD}/*.bcsymbolmap @@ -219,20 +207,26 @@ rm -rf ${ZIP_SRCD}/*LinkMap* rm -rf CouchbaseLite.framework/PrivateHeaders # Zip: -echo ============================================== Package ${ZIP_PATH} +echo "> Package ${ZIP_PATH}" ZIP_LOG=${WORKSPACE}/doc_zip.log if [[ -e ${ZIP_LOG} ]] ; then rm -f ${ZIP_LOG} ; fi -cd ${ZIP_SRCD} -( zip -ry ${ZIP_PATH} * 2>&1 ) >> ${ZIP_LOG} +cd ${ZIP_SRCD} +( zip -ry ${ZIP_PATH} * 2>&1 ) >> ${ZIP_LOG} if [[ -e ${ZIP_LOG} ]] then echo - echo ============================================== ${ZIP_LOG}" - echo ". . ." - tail ${LOG_TAIL} ${ZIP_LOG} + echo "> ${ZIP_LOG} ..." + tail ${LOG_TAIL} ${ZIP_LOG} fi +if [[ -e ~jenkins/.bash_profile ]] +then LATESTBUILDS_CBL=http://latestbuilds.hq.couchbase.com/couchbase-lite-ios/${VERSION}${REL_STAGE}/${OS}/${REVISION} -echo ........................... Uploading internally to ${LATESTBUILDS_CBL} -echo ============================================== `date` +echo "> Uploading internally to ${LATESTBUILDS_CBL}" +fi + +echo +echo "> Frameworks: ${ZIP_PATH}" +echo "> Documentation: ${DOC_ZIP_PATH}" +echo "> Done: `date`"