Skip to content

Commit

Permalink
Update BuildFramework.sh and .gitignore
Browse files Browse the repository at this point in the history
* Cleaned up BuildFramework.sh
* Updated .gitignore to ingore /apidoc/
  • Loading branch information
pasin committed Sep 18, 2018
1 parent b511877 commit 7c86c21
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 54 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*~
xcuserdata/
/build/
/apidoc/
DerivedData/
obj/
derived_src/
102 changes: 48 additions & 54 deletions BuildScripts/BuildFramework.sh
Original file line number Diff line number Diff line change
@@ -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<community|enterprise> platform<ios|macosx|tvos> \n\n"
echo -e "\nuse: ${0} release_number build_number edition<community|enterprise> platform<ios|macosx|tvos> [rel-stage]\n\n"
}

if [[ ! ${1} ]] ; then usage ; exit 88 ; fi
Expand Down Expand Up @@ -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

Expand All @@ -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
Expand All @@ -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

Expand All @@ -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 }'`
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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`"

0 comments on commit 7c86c21

Please sign in to comment.