summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morrow <andrew.morrow@10gen.com>2019-11-20 21:54:55 +0000
committerevergreen <evergreen@mongodb.com>2019-11-20 21:54:55 +0000
commita6c5648ef2863afa6975a54a75ac699d35ac7b72 (patch)
tree411c80a03012baead6200123d0c0347285bb3392
parent745bdd1e86e3cd41835e76acde5127407d44b4ee (diff)
downloadmongo-a6c5648ef2863afa6975a54a75ac699d35ac7b72.tar.gz
SERVER-44545 Remove mobile embedded variants and associated support files
(cherry picked from commit c65877d82f3fcc9f355c93f9921bf7a332a88817) (cherry picked from commit 99745b1ccba28ea737ee28a2df8399202f542cb2)
-rwxr-xr-xbuildscripts/runandroidsim.sh78
-rwxr-xr-xbuildscripts/runiossim.sh54
-rwxr-xr-xbuildscripts/setup-android-toolchain.sh48
-rw-r--r--etc/evergreen.yml1080
-rw-r--r--etc/scons/android_toolchain.vars29
-rw-r--r--etc/scons/xcode_ios.vars15
-rw-r--r--etc/scons/xcode_ios_sim.vars14
-rw-r--r--etc/scons/xcode_tvos.vars14
-rw-r--r--etc/scons/xcode_tvos_sim.vars14
-rw-r--r--etc/scons/xcode_watchos.vars14
-rw-r--r--etc/scons/xcode_watchos_sim.vars14
11 files changed, 2 insertions, 1372 deletions
diff --git a/buildscripts/runandroidsim.sh b/buildscripts/runandroidsim.sh
deleted file mode 100755
index 6dd084a7f9d..00000000000
--- a/buildscripts/runandroidsim.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/bash
-
-if [ "$#" -lt "5" ]; then
- echo "usage:"
- echo "$0 <android-sdk-path> <sysarch> <image-api-version> <directory> <test-path-in-directory>"
- exit 1
-fi
-
-set -o verbose
-set -o errexit
-set -o pipefail
-
-ANDROID_SDK=$1
-shift
-ANDROID_SYSTEM_IMAGE_ARCH=$1
-shift
-ANDROID_IMAGE_API_VERSION=$1
-shift
-DIRECTORY=$1
-shift
-TEST_PATH_IN_DIRECTORY=$1
-shift
-
-EMULATOR_PID=''
-cleanup() {
- echo "Cleanup handler invoked"
-
- if [ -z "$EMULATOR_PID" ]; then
- echo "No EMULATOR_PID found; not killing"
- else
- echo "Killing emulator"
- kill $EMULATOR_PID || true
-
- echo "Waiting for emulator to shut down"
- wait $EMULATOR_PID || true
- fi
-
- echo "Deleting the virtual device"
- $ANDROID_SDK/tools/bin/avdmanager delete avd -n android_avd || true
-
- echo "Exiting with status $1"
- exit $1
-}
-
-echo "Creating Android virtual device"
-echo no | $ANDROID_SDK/tools/bin/avdmanager create avd --force -k "system-images;android-$ANDROID_IMAGE_API_VERSION;google_apis;$ANDROID_SYSTEM_IMAGE_ARCH" --name android_avd --abi google_apis/$ANDROID_SYSTEM_IMAGE_ARCH -p android_avd
-
-trap 'cleanup $?' INT TERM EXIT
-
-echo "Starting the virtual device on the emulator"
-$ANDROID_SDK/emulator/emulator @android_avd -no-window -no-audio -no-accel &
-EMULATOR_PID=$!
-
-echo "Waiting for the adb service to be ready for commands"
-$ANDROID_SDK/platform-tools/adb wait-for-device
-
-echo "Making the adb service become root"
-$ANDROID_SDK/platform-tools/adb root
-
-echo "Copying the test to the virtual device"
-$ANDROID_SDK/platform-tools/adb push $DIRECTORY /data
-
-echo "Running the test on the virtual device"
-$ANDROID_SDK/platform-tools/adb shell /data/$(basename $DIRECTORY)/$TEST_PATH_IN_DIRECTORY "$@" | tee android_sim_test_output.txt 2>&1
-
-# On the android sim ( possibly on nomral android as well ) if a program fails its runtime link,
-# for example because of a missing library, it will have an exit code of 0. In which case the
-# android_sim_test_output.txt file will not contian the test output, but instead will contain
-# "CANNOT LINK EXECUTABLE"
-# So, once we're here in this script, the previous adb shell test command has either run
-# successfully or failed to link. If it ran with errors, this script would have returned already
-# because of the errexit.
-# We test the output file to disambiguate
-grep -q 'SUCCESS - All tests in all suites passed' android_sim_test_output.txt
-
-# Do not add additional statements after the above command invocation without
-# forwarding its exit status or you will cause failing tests to appear
-# to succeed.
diff --git a/buildscripts/runiossim.sh b/buildscripts/runiossim.sh
deleted file mode 100755
index 77e0be6b75d..00000000000
--- a/buildscripts/runiossim.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-
-set -o verbose
-set -o errexit
-
-# This script used to create simulators called 'mongo-sim', but then
-# failed to delete them leading to stale instances on the machines. We
-# have since changed the name, and made the script smarter, but this
-# startup code is here to clean out any old stale devices. It can
-# probably be removed in a few weeks.
-xcrun simctl list | grep mongo-sim | awk '{print $1}' | xargs xcrun simctl delete || true
-
-if [ "$#" -lt "3" ]; then
- echo "usage:"
- echo "$0 <device> <runtime> <test>"
- exit 1
-fi
-
-DEVICE="$1"
-shift
-RUNTIME="$1"
-shift
-TEST="$1"
-shift
-
-cleanup() {
- echo "Shutting down simulator"
- xcrun simctl shutdown $_SimId || true
-
- echo "Erasing simulator"
- xcrun simctl erase $_SimId || true
-
- echo "Deleting simulator"
- xcrun simctl delete $_SimId || true
-
- echo "Exiting with status $1"
- exit $1
-}
-
-echo "Creating simulator"
-_SimId=$(xcrun simctl create mongodb-simulator-$DEVICE.$RUNTIME "com.apple.CoreSimulator.SimDeviceType.$DEVICE" "com.apple.CoreSimulator.SimRuntime.$RUNTIME")
-echo "Simulator created with ID $_SimId"
-
-trap 'cleanup $?' INT TERM EXIT
-
-echo "Booting simulator"
-xcrun simctl boot $_SimId
-
-echo "Spawning test program in simulator"
-xcrun simctl spawn $_SimId "$TEST" "$@"
-
-# Do not add additional statements after the above spawn without
-# forwarding its exit status or you will cause failing tests to appear
-# to succeed.
diff --git a/buildscripts/setup-android-toolchain.sh b/buildscripts/setup-android-toolchain.sh
deleted file mode 100755
index b703496dfca..00000000000
--- a/buildscripts/setup-android-toolchain.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-set -o verbose
-set -o errexit
-
-ToolchainArch=$1
-shift
-API_VERSION=$1
-shift
-
-if [ -z "$PYTHON" ] ; then
- PYTHON=`which python`
-fi
-
-SDK_ROOT=$PWD/android_sdk
-if [ ! -e $SDK_ROOT ]; then
- mkdir $SDK_ROOT
- (
- cd $SDK_ROOT
- SDK_PACKAGE=sdk-tools-linux-4333796.zip
- test -e $SDK_PACKAGE || curl -O https://dl.google.com/android/repository/$SDK_PACKAGE
- unzip -q $SDK_PACKAGE
- yes | ./tools/bin/sdkmanager --channel=0 \
- "platforms;android-28" \
- "emulator" \
- "patcher;v4" \
- "platform-tools" \
- "build-tools;28.0.0" \
- "system-images;android-24;google_apis;armeabi-v7a" \
- "system-images;android-24;google_apis;arm64-v8a" \
- "system-images;android-24;google_apis;x86_64" \
- | grep -v Unzipping
- )
- NDK=android-ndk-r18b
- NDK_PACKAGE=$NDK-linux-x86_64.zip
- test -e $NDK_PACKAGE || curl -O https://dl.google.com/android/repository/$NDK_PACKAGE
- unzip -q $NDK_PACKAGE
- mv $NDK $SDK_ROOT/ndk-bundle
-fi
-
-TOOLCHAIN=$PWD/android_toolchain-${ToolchainArch}-${API_VERSION}
-rm -rf $TOOLCHAIN
-
-$PYTHON $SDK_ROOT/ndk-bundle/build/tools/make_standalone_toolchain.py --arch $ToolchainArch --api $API_VERSION --stl=libc++ --install-dir $TOOLCHAIN
-
-echo SDK_ROOT=${SDK_ROOT}
-echo TOOLCHAIN=${TOOLCHAIN}
-echo API_VERSION=${API_VERSION}
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 2dff08cd664..7db821e33a6 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -696,101 +696,6 @@ functions:
bash buildscripts/fetch_and_build_openssl.sh "${python|python}" "${openssl_make_flags|}" "${openssl_config_flags|}"
fi
- "setup gradle signing keys":
- command: shell.exec
- params:
- silent: true
- shell: bash
- script: |
- cd src/src/mongo/embedded/mongo_embedded/java
-
- echo '${mongodb_mobile_release_secring}' | base64 -d > embedded-android/secring.gpg
-
- cat <<EOF > local.properties
- signing.keyId=${mongodb_mobile_release_signing_keyid}
- signing.password=${mongodb_mobile_release_signing_password}
- signing.secretKeyRingFile=${mongodb_mobile_release_signing_secretkeyringfile}
-
- ossrhUsername=${mongodb_mobile_ossrh_username}
- ossrhPassword=${mongodb_mobile_ossrh_password}
- EOF
-
- cat <<EOF > artifactory_mobile_creds.sh
- export artifactory_mobile_user=${artifactory_mobile_user}
- export artifactory_mobile_pass=${artifactory_mobile_pass}
- EOF
-
- "setup android toolchain" :
- command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
- if [ "${setup_android_toolchain|}" = "true" ]; then
- ${activate_virtualenv}
- PYTHON=$python ${compile_env|} src/buildscripts/setup-android-toolchain.sh ${android_toolchain_target_arch} ${android_toolchain_api_version}
- fi
-
- "build java embedded sdk":
- command: shell.exec
- params:
- shell: bash
- script: |
- set -o errexit
- set -o verbose
-
- # If the android toolchain has not been setup the android sdk will not
- # be available and we should not build the android version of mongodb
- # embedded.
- if [ "${setup_android_toolchain|}" != "true" ]; then
- echo "Android toolchain has not been setup, skipping \"build java embedded sdk\""
- exit 0
- fi
-
- export ANDROID_HOME=$(pwd)/android_sdk
- MINOR_VER=$(echo "${version}" | awk -F. '{print $(NF-1)}')
- if [ $(($MINOR_VER % 2)) != 0 ]; then
- EMBEDDED_RELEASE_VERSION="${version}-SNAPSHOT"
- else
- EMBEDDED_RELEASE_VERSION="${version}"
- fi
-
- cd src/src/mongo/embedded/mongo_embedded/java
-
- # TODO: Clean this up later where we can remove duplication
- if [ "${package_type|embedded-android}" = "embedded-jar" ]; then
- tar zxvf ../../../../../../embedded-sdk-java-linux-x86-64.tgz
- mkdir -p jniLibs/linux-x86-64
- cp ./mongo-embedded-sdk-${version}/lib/libmongo_embedded.so jniLibs/linux-x86-64
- rm -rf ./mongo-embedded-sdk-${version}
-
- tar zxvf ../../../../../../embedded-sdk-java-darwin.tgz
- mkdir -p jniLibs/darwin
- cp ./mongo-embedded-sdk-${version}/lib/libmongo_embedded.dylib jniLibs/darwin
- rm -rf ./mongo-embedded-sdk-${version}
-
- ./gradlew clean :embedded-jar:build :embedded-jar:publishMavenPublicationToLocalRepository
-
- mkdir -p ../../../../../build/mongo-embedded-sdk-$EMBEDDED_RELEASE_VERSION/java
- cp -r embedded-jar/build/repo/* ../../../../../build/mongo-embedded-sdk-$EMBEDDED_RELEASE_VERSION/java
- else
- for arch in arm64-v8a armeabi-v7a x86_64 ; do
- tar zxvf ../../../../../../embedded-sdk-android-$arch.tgz
- mkdir -p jniLibs/$arch
- cp ./mongo-embedded-sdk-${version}/lib/libmongo_embedded.so jniLibs/$arch
- rm -rf ./mongo-embedded-sdk-${version}
- done
-
- ./gradlew clean :embedded-android:build
- # Is this a release?
- if [ "${is_release|false}" = "true" ]; then
- ./gradlew :embedded-android:uploadArchives closeAndReleaseRepository
- fi
-
- mkdir -p ../../../../../build/mongo-embedded-sdk-$EMBEDDED_RELEASE_VERSION/android
- cp -r embedded-android/build/outputs/aar/* ../../../../../build/mongo-embedded-sdk-$EMBEDDED_RELEASE_VERSION/android
- fi
-
"umount shared scons directory" :
command: shell.exec
params:
@@ -3549,31 +3454,6 @@ tasks:
task_compile_flags_extra: >-
--link-model=dynamic-sdk
- # Unfortunately, it is very hard to get the symbol map filename
- # correct in SCons. We work around that here by letting SCons give
- # them a well known name, and then renaming them appropriately
- # once we have finished the build.
- - command: shell.exec
- params:
- working_dir: "src/build"
- script: |
- set -o errexit
- set -o verbose
-
- cd mongo-embedded-sdk-${version}
-
- if [ -e Frameworks/mongo_embedded.framework/BCSymbolMaps ]; then
- pushd Frameworks/mongo_embedded.framework
- mv BCSymbolMaps/libmongo_embedded.dylib.bcsymbolmap BCSymbolMaps/$(dwarfdump -u mongo_embedded | awk '{ print $2 }').bcsymbolmap
- popd
- fi
-
- if [ -e Frameworks/mongoc_embedded.framework/BCSymbolMaps ]; then
- pushd Frameworks/mongoc_embedded.framework
- mv BCSymbolMaps/libmongoc_embedded.dylib.bcsymbolmap BCSymbolMaps/$(dwarfdump -u mongoc_embedded | awk '{ print $2 }').bcsymbolmap
- popd
- fi
-
- name: embedded_sdk_s3_put
commands:
# Not using archive.targz_pack here because I can't get it to work.
@@ -3644,18 +3524,6 @@ tasks:
- name: embedded_sdk_run_tests
commands:
- command: shell.exec
- params:
- working_dir: "src/build/mongo-embedded-sdk-${version}"
- script: |
- set -o errexit
- set -o verbose
-
- if [ ${enable_embedded_tests|false} = "ios_tvos_simulator" -a $(command -v xcrun) ]; then
- find ./lib -type f -name "*.dylib" -print0 | xargs -0 -L 1 xcrun codesign -s -
- find ./Frameworks -type f -name "*" '!' -name "*.*" -print0 | xargs -0 -L 1 xcrun codesign -s -
- fi
-
- - command: shell.exec
type: test
params:
working_dir: src
@@ -3664,18 +3532,8 @@ tasks:
set -o errexit
${activate_virtualenv}
- if [ ${enable_embedded_tests|false} = "ios_tvos_simulator" ]; then
- ${compile_env|} buildscripts/runiossim.sh ${ios_sim_device} ${ios_sim_runtime} "build/mongo-embedded-sdk-${version}/bin/mongo_embedded_test" --tempPath /data
- ${compile_env|} buildscripts/runiossim.sh ${ios_sim_device} ${ios_sim_runtime} "build/mongo-embedded-sdk-${version}/bin/mongoc_embedded_test" --tempPath /data
- elif [ ${enable_embedded_tests|false} = "android_emulator" ]; then
- cp -r build/mongo-embedded-sdk-${version} build/mongo-embedded-sdk-${version}-exec
- find build/mongo-embedded-sdk-${version}-exec/bin build/mongo-embedded-sdk-${version}-exec/lib -type f -name "*.debug" -delete
- ${compile_env|} buildscripts/runandroidsim.sh $(dirname $(pwd))/android_sdk ${android_toolchain_system_image_arch} ${android_system_image_version} "build/mongo-embedded-sdk-${version}-exec" "bin/mongo_embedded_test" --tempPath /data
- ${compile_env|} buildscripts/runandroidsim.sh $(dirname $(pwd))/android_sdk ${android_toolchain_system_image_arch} ${android_system_image_version} "build/mongo-embedded-sdk-${version}-exec" "bin/mongoc_embedded_test" --tempPath /data
- elif [ ${enable_embedded_tests|false} = "native" ]; then
- "build/mongo-embedded-sdk-${version}/bin/mongo_embedded_test"
- "build/mongo-embedded-sdk-${version}/bin/mongoc_embedded_test"
- fi
+ "build/mongo-embedded-sdk-${version}/bin/mongo_embedded_test"
+ "build/mongo-embedded-sdk-${version}/bin/mongoc_embedded_test"
# If this is a patch build, blow away the file so our subsequent and optional s3.put
# doesn't run. That way, we won't overwrite the latest part in our patches.
@@ -3722,568 +3580,6 @@ tasks:
permissions: public-read
content_type: ${content_type|application/x-gzip}
-- name: embedded_sdk_multiarch_android_package
- depends_on:
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-android-arm32
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-android-arm64
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-android-x86_64
- commands:
- - command: manifest.load
- - func: "git get project"
- - func: "get buildnumber"
- - func: "set up credentials"
- - func: "setup android toolchain" # noop if ${setup_android_toolchain} is not "true"
- - func: "set task expansion macros"
- - func: "set up virtualenv"
- - func: "generate compile expansions"
- - func: "apply compile expansions"
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-android-arm32/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "embedded-sdk-android-armeabi-v7a.tgz"
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-android-arm64/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "embedded-sdk-android-arm64-v8a.tgz"
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-android-x86_64/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "embedded-sdk-android-x86_64.tgz"
- - func: "setup gradle signing keys"
- - func: "build java embedded sdk"
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- MINOR_VER=$(echo "${version}" | awk -F. '{print $(NF-1)}')
- if [ $(($MINOR_VER % 2)) != 0 ]; then
- EMBEDDED_RELEASE_VERSION="${version}-SNAPSHOT"
- else
- EMBEDDED_RELEASE_VERSION="${version}"
- fi
-
- if [ "${setup_android_toolchain|}" = "true" ]; then
- cd src/build
- tar zcvf mongo-embedded-sdk-${version}.tgz mongo-embedded-sdk-$EMBEDDED_RELEASE_VERSION
- fi
- - command: s3.put
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "src/build/mongo-embedded-sdk-${version}.tgz"
- remote_file: "${project}/embedded-sdk/embedded-sdk-android-multiarch/${revision}/mongo-embedded-sdk-${version}.tgz"
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
- display_name: "Embedded SDK Tar Archive"
-
- # If this is a patch build, blow away the file so our subsequent and optional s3.put
- # doesn't run. That way, we won't overwrite the latest part in our patches.
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- if [ "${is_patch}" = "true" ]; then
- rm -f src/build/mongo-embedded-sdk-${version}.tgz
- fi
- # A second put, this time to -latest, to give devs a reasonable
- # way to get the most recent build.
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "src/build/mongo-embedded-sdk-${version}.tgz"
- remote_file: ${project}/embedded-sdk/mongo-${build_variant}-latest.tgz
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
-
-- name: embedded_sdk_multiarch_java_package
- depends_on:
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-ubuntu-1604-x86_64
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-macosx-10.10
- commands:
- - command: manifest.load
- - func: "git get project"
- - func: "get buildnumber"
- - func: "set up credentials"
- - func: "setup android toolchain" # noop if ${setup_android_toolchain} is not "true"
- - func: "generate compile expansions"
- - func: "apply compile expansions"
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-ubuntu-1604-x86_64/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "embedded-sdk-java-linux-x86-64.tgz"
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-macosx-10.10/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "embedded-sdk-java-darwin.tgz"
- - func: "setup gradle signing keys"
- - func: "build java embedded sdk"
- vars:
- package_type: embedded-jar
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- MINOR_VER=$(echo "${version}" | awk -F. '{print $(NF-1)}')
- if [ $(($MINOR_VER % 2)) != 0 ]; then
- EMBEDDED_RELEASE_VERSION="${version}-SNAPSHOT"
- else
- EMBEDDED_RELEASE_VERSION="${version}"
- fi
-
- if [ "${setup_android_toolchain|}" = "true" ]; then
- cd src/build
- tar zcvf mongo-embedded-sdk-${version}.tgz mongo-embedded-sdk-$EMBEDDED_RELEASE_VERSION
- fi
- - command: s3.put
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "src/build/mongo-embedded-sdk-${version}.tgz"
- remote_file: "${project}/embedded-sdk/embedded-sdk-java-multiarch/${revision}/mongo-embedded-sdk-${version}.tgz"
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
- display_name: "Embedded SDK Tar Archive"
- # If this is a patch build, blow away the file so our subsequent and optional s3.put
- # doesn't run. That way, we won't overwrite the latest part in our patches.
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- if [ "${is_patch}" = "true" ]; then
- rm -f src/build/mongo-embedded-sdk-${version}.tgz
- fi
- # A second put, this time to -latest, to give devs a reasonable
- # way to get the most recent build.
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "src/build/mongo-embedded-sdk-${version}.tgz"
- remote_file: ${project}/embedded-sdk/mongo-${build_variant}-latest.tgz
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
-
-
-- name: embedded_sdk_multiarch_apple_package
- depends_on:
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-macosx-10.10
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-iphoneos-11.0
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-iphonesimulator-11.0
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-appletvos-10.2
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-appletvsimulator-10.2
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-watchos-4.2
- - name: embedded_sdk_s3_put
- variant: embedded-sdk-watchsimulator-4.2
-
- commands:
- - command: manifest.load
- - func: "git get project"
- - func: "get buildnumber"
- - func: "set up credentials"
- - func: "generate compile expansions"
- - func: "apply compile expansions"
-
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-macosx-10.10/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "mongo-embedded-sdk-${version}/MacOS/embedded-sdk.tgz"
-
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-iphoneos-11.0/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "mongo-embedded-sdk-${version}/iPhoneOS/embedded-sdk.tgz"
-
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-iphonesimulator-11.0/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "mongo-embedded-sdk-${version}/iPhoneSimulator/embedded-sdk.tgz"
-
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-appletvos-10.2/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "mongo-embedded-sdk-${version}/AppleTVOS/embedded-sdk.tgz"
-
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-appletvsimulator-10.2/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "mongo-embedded-sdk-${version}/AppleTVSimulator/embedded-sdk.tgz"
-
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-watchos-4.2/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "mongo-embedded-sdk-${version}/WatchOS/embedded-sdk.tgz"
-
- - command: s3.get
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- remote_file: ${project}/embedded-sdk/embedded-sdk-watchsimulator-4.2/${revision}/mongo-embedded-sdk-${version}.tgz
- bucket: mciuploads
- local_file: "mongo-embedded-sdk-${version}/WatchSimulator/embedded-sdk.tgz"
-
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- pushd mongo-embedded-sdk-${version}
-
- for directory in *OS *Simulator; do
- pushd $directory
- tar --include "*/Frameworks/*" --strip-components=1 -xf ./embedded-sdk.tgz
- popd
- done
-
- for platform in iPhone AppleTV Watch; do
- for framework in bson mongoc mongo_embedded mongoc_embedded; do
- _OSFile=$(printf ./%sOS/Frameworks/%s.framework/%s $platform $framework $framework)
- _SimulatorFile=$(printf ./%sSimulator/Frameworks/%s.framework/%s $platform $framework $framework)
- ${compile_env|} xcrun lipo $_OSFile $_SimulatorFile -create -output $_OSFile
- done
- done
-
- for platform in iPhone AppleTV Watch; do
- for framework in bson mongoc; do
- _OSDSYM=$(printf ./%sOS/Frameworks/%s.framework.dSYM/Contents/Resources/DWARF/%s $platform $framework $framework)
- _SimulatorDSYM=$(printf ./%sSimulator/Frameworks/%s.framework.dSYM/Contents/Resources/DWARF/%s $platform $framework $framework)
- ${compile_env|} xcrun lipo $_OSDSYM $_SimulatorDSYM -create -output $_OSDSYM
- done
-
- for framework in mongo_embedded mongoc_embedded; do
- _OSDSYM=$(printf ./%sOS/Frameworks/%s.framework.dSYM/Contents/Resources/DWARF/lib%s.dylib $platform $framework $framework)
- _SimulatorDSYM=$(printf ./%sSimulator/Frameworks/%s.framework.dSYM/Contents/Resources/DWARF/lib%s.dylib $platform $framework $framework)
- ${compile_env|} xcrun lipo $_OSDSYM $_SimulatorDSYM -create -output $_OSDSYM
- done
- done
-
- for platform in iPhone AppleTV Watch; do
- for framework in mongo_embedded mongoc_embedded; do
- _OSBCSymbolMaps=$(printf ./%sOS/Frameworks/%s.framework/BCSymbolMaps $platform $framework)
- _SimulatorBCSymbolMaps=$(printf ./%sSimulator/Frameworks/%s.framework/BCSymbolMaps $platform $framework)
- if [ -e $_SimulatorBCSymbolMaps -a -e $_OSBCSymbolMaps ]; then
- cp $_SimulatorBCSymbolMaps/* $_OSBCSymbolMaps/
- fi
- done
- done
-
- popd
-
- cat <<EOF > mongo-embedded-sdk-${version}/README-Licenses.txt
- The software accompanying this file is Copyright (C) 2018 MongoDB, Inc. and
- is licensed to you on the terms set forth in the following files:
- - mongo-c-driver: iPhoneOS/Frameworks/mongoc.framework/COPYING
- - mongo_embedded: iPhoneOS/Frameworks/mongo_embedded.framework/LICENSE-Embedded.txt
- - mongoc_embedded: iPhoneOS/Frameworks/mongoc_embedded.framework/LICENSE-Embedded.txt
- EOF
- tar --exclude "mongo-embedded-sdk-${version}/*/*.tgz" -zcvf mongo-embedded-sdk-${version}.tgz \
- ./mongo-embedded-sdk-${version}/*OS \
- ./mongo-embedded-sdk-${version}/README-Licenses.txt
-
- cat <<EOF > mongo-embedded-sdk-${version}/README-Licenses.txt
- The software accompanying this file is Copyright (C) 2018 MongoDB, Inc. and
- is licensed to you on the terms set forth in the following files:
- - mongo-c-driver: iPhoneOS/Frameworks/mongoc.framework/COPYING
- EOF
- tar --exclude "mongo-embedded-sdk-${version}/*/*.tgz" -zcvf mongo-embedded-sdk-${version}-mongo-c-driver.tgz \
- ./mongo-embedded-sdk-${version}/*OS/Frameworks/bson.framework{,.dSYM} \
- ./mongo-embedded-sdk-${version}/*OS/Frameworks/mongoc.framework{,.dSYM} \
- ./mongo-embedded-sdk-${version}/README-Licenses.txt
-
- cat <<EOF > mongo-embedded-sdk-${version}/README-Licenses.txt
- The software accompanying this file is Copyright (C) 2018 MongoDB, Inc. and
- is licensed to you on the terms set forth in the following files:
- - mongo_embedded: iPhoneOS/Frameworks/mongo_embedded.framework/LICENSE-Embedded.txt
- EOF
- tar --exclude "mongo-embedded-sdk-${version}/*/*.tgz" -zcvf mongo-embedded-sdk-${version}-mongo-embedded.tgz \
- ./mongo-embedded-sdk-${version}/*OS/Frameworks/mongo_embedded.framework{,.dSYM} \
- ./mongo-embedded-sdk-${version}/README-Licenses.txt
-
- cat <<EOF > mongo-embedded-sdk-${version}/README-Licenses.txt
- The software accompanying this file is Copyright (C) 2018 MongoDB, Inc. and
- is licensed to you on the terms set forth in the following files:
- - mongoc_embedded: iPhoneOS/Frameworks/mongoc_embedded.framework/LICENSE-Embedded.txt
- EOF
- tar --exclude "mongo-embedded-sdk-${version}/*/*.tgz" -zcvf mongo-embedded-sdk-${version}-mongoc-embedded.tgz \
- ./mongo-embedded-sdk-${version}/*OS/Frameworks/mongoc_embedded.framework{,.dSYM} \
- ./mongo-embedded-sdk-${version}/README-Licenses.txt
-
- - command: s3.put
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}.tgz"
- remote_file: "${project}/embedded-sdk/embedded-sdk-apple-multiarch/${revision}/mongo-embedded-sdk-${version}.tgz"
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
- display_name: "Embedded SDK Tar Archive"
-
- - command: s3.put
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongo-c-driver.tgz"
- remote_file: "${project}/embedded-sdk/mongo-c-driver-apple-multiarch/${revision}/mongo-embedded-sdk-${version}.tgz"
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
- display_name: "MongoDB C Driver Tar Archive"
-
- - command: s3.put
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongo-embedded.tgz"
- remote_file: "${project}/embedded-sdk/mongo-embedded-apple-multiarch/${revision}/mongo-embedded-sdk-${version}.tgz"
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
- display_name: "MongoDB Embedded Tar Archive"
-
- - command: s3.put
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongoc-embedded.tgz"
- remote_file: "${project}/embedded-sdk/mongoc-embedded-apple-multiarch/${revision}/mongo-embedded-sdk-${version}.tgz"
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
- display_name: "MongoDB Embedded C Driver Transport Tar Archive"
-
- # If this is a patch build, blow away the file so our subsequent and optional s3.put
- # doesn't run. That way, we won't overwrite the latest part in our patches.
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- if [ "${is_patch}" = "true" ]; then
- rm -f mongo-embedded-sdk-${version}.tgz
- rm -f mongo-embedded-sdk-${version}-mongo-c-driver.tgz
- rm -f mongo-embedded-sdk-${version}-mongo-embedded.tgz
- rm -f mongo-embedded-sdk-${version}-mongoc-embedded.tgz
- fi
-
- # A second put, this time to -latest, to give devs a reasonable
- # way to get the most recent build.
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}.tgz"
- remote_file: ${project}/embedded-sdk/mongo-${build_variant}-latest.tgz
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
-
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongo-c-driver.tgz"
- remote_file: ${project}/embedded-sdk/mongo-c-driver-cocoapod-latest.tgz
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
-
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongo-embedded.tgz"
- remote_file: ${project}/embedded-sdk/mongo-embedded-cocoapod-latest.tgz
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
-
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongoc-embedded.tgz"
- remote_file: ${project}/embedded-sdk/mongoc-embedded-cocoapod-latest.tgz
- bucket: mciuploads
- permissions: public-read
- content_type: application/tar
-
- # If this is not a release build, blow away the file so our subsequent and optional s3.put
- # doesn't run. That way, we won't overwrite the latest part in our patches.
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- if [ "${is_release}" != "true" ]; then
- rm -f mongo-embedded-sdk-${version}.tgz
- rm -f mongo-embedded-sdk-${version}-mongo-c-driver.tgz
- rm -f mongo-embedded-sdk-${version}-mongo-embedded.tgz
- rm -f mongo-embedded-sdk-${version}-mongoc-embedded.tgz
- fi
-
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}.tgz"
- remote_file: ${push_path}-STAGE/${push_name}/mongo-${build_variant}-${version}.tgz
- bucket: build-push-testing
- permissions: public-read
- content_type: application/tar
-
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongo-c-driver.tgz"
- remote_file: ${push_path}-STAGE/${push_name}/mongo-c-driver-${version}.tgz
- bucket: build-push-testing
- permissions: public-read
- content_type: application/tar
-
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongo-embedded.tgz"
- remote_file: ${push_path}-STAGE/${push_name}/mongo-embedded-${version}.tgz
- bucket: build-push-testing
- permissions: public-read
- content_type: application/tar
-
- - command: s3.put
- params:
- visibility: none
- optional: true
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- local_file: "mongo-embedded-sdk-${version}-mongoc-embedded.tgz"
- remote_file: ${push_path}-STAGE/${push_name}/mongoc-embedded-${version}.tgz
- bucket: build-push-testing
- permissions: public-read
- content_type: application/tar
-
- - command: s3Copy.copy
- params:
- aws_key: ${aws_key}
- aws_secret: ${aws_secret}
- optional: true
- s3_copy_files:
- - {'source': {'path': '${push_path}-STAGE/${push_name}/mongoc-embedded-${version}.tgz', 'bucket': 'build-push-testing'},
- 'destination': {'path': '${push_path}/${push_name}/mongoc-embedded-${version}.tgz', 'bucket': '${push_bucket}'}}
-
- - {'source': {'path': '${push_path}-STAGE/${push_name}/mongo-embedded-${version}.tgz', 'bucket': 'build-push-testing'},
- 'destination': {'path': '${push_path}/${push_name}/mongo-embedded-${version}.tgz', 'bucket': '${push_bucket}'}}
-
- - {'source': {'path': '${push_path}-STAGE/${push_name}/mongo-c-driver-${version}.tgz', 'bucket': 'build-push-testing'},
- 'destination': {'path': '${push_path}/${push_name}/mongo-c-driver-${version}.tgz', 'bucket': '${push_bucket}'}}
-
- - command: shell.exec
- params:
- script: |
- set -o errexit
- set -o verbose
-
- if [ "${is_release|false}" != "true" ]; then
- echo "Not a release build"
- exit 0
- fi
-
- sed s/@VERSION@/1.13.0/g src/src/mongo/embedded/mongoc_embedded/mongo-embedded-c-driver.podspec.in | tee mongo-embedded-c-driver.podspec
- DRIVER_SHA=`shasum -a 256 mongo-embedded-sdk-${version}-mongo-c-driver.tgz | awk '{ print $1 }'`
- sed -i '' s/@SHA256@/$DRIVER_SHA/g mongo-embedded-c-driver.podspec
- sed -i '' s/@MONGO_VERSION@/${version}/g mongo-embedded-c-driver.podspec
-
- sed s/@VERSION@/${version}/g src/src/mongo/embedded/mongo_embedded/mongo_embedded.podspec.in | tee mongo_embedded.podspec
- MONGO_SHA=`shasum -a 256 mongo-embedded-sdk-${version}-mongo-embedded.tgz | awk '{ print $1 }'`
- sed -i '' s/@SHA256@/$MONGO_SHA/g mongo_embedded.podspec
-
- sed s/@VERSION@/${version}/g src/src/mongo/embedded/mongoc_embedded/mongoc_embedded.podspec.in | tee mongoc_embedded.podspec
- MONGOC_SHA=`shasum -a 256 mongo-embedded-sdk-${version}-mongoc-embedded.tgz | awk '{ print $1 }'`
- sed -i '' s/@SHA256@/$MONGOC_SHA/g mongoc_embedded.podspec
-
- pod trunk push mongo-embedded-c-driver.podspec
- pod trunk push mongo_embedded.podspec
- pod trunk push mongoc_embedded.podspec
-
- name: compile_benchmarks
depends_on: []
commands:
@@ -7062,7 +6358,6 @@ task_groups:
- func: "git get project"
- func: "get buildnumber"
- func: "set up credentials"
- - func: "setup android toolchain" # noop if ${setup_android_toolchain} is not "true"
- func: "set up virtualenv"
- func: "set task expansion macros"
- func: "install pip requirements"
@@ -9072,225 +8367,10 @@ buildvariants:
-DENABLE_ZLIB=BUNDLED
-DCMAKE_C_FLAGS="-Wunguarded-availability"
disable_unit_tests: true
- enable_embedded_tests: native
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-iphoneos-11.0
- display_name: "Embedded SDK - iOS 11.0"
- run_on:
- - macos-1012
- batchtime: 1440 # 1 day
- expansions:
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
- compile_env: DEVELOPER_DIR=/Applications/Xcode9.2.app
- compile_flags: >-
- -j$(sysctl -n hw.logicalcpu)
- --variables-files=etc/scons/xcode_ios.vars
- FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
- --lto
- cdriver_cmake_osx_deployment_target: "11.0"
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_OSX_SYSROOT="$(xcrun --sdk iphoneos --show-sdk-path)"
- -DCMAKE_OSX_ARCHITECTURES=arm64
- -DENABLE_APPLE_FRAMEWORK=ON
- -DCMAKE_INSTALL_BINDIR=Frameworks
- -DENABLE_SSL=OFF
- -DENABLE_SASL=OFF
- -DENABLE_ZLIB=OFF
- -DENABLE_SNAPPY=OFF
- -DCMAKE_C_FLAGS="-fembed-bitcode -Wunguarded-availability"
- -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode"
- disable_unit_tests: true
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-iphonesimulator-11.0
- display_name: "Embedded SDK - iOS Simulator 11.0"
- run_on:
- - macos-1012
- batchtime: 1440 # 1 day
- expansions:
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
- compile_env: DEVELOPER_DIR=/Applications/Xcode9.2.app
- compile_flags: >-
- -j$(sysctl -n hw.logicalcpu)
- --variables-files=etc/scons/xcode_ios_sim.vars
- FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
- --lto
- cdriver_cmake_osx_deployment_target: "11.0"
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_OSX_SYSROOT="$(xcrun --sdk iphonesimulator --show-sdk-path)"
- -DCMAKE_OSX_ARCHITECTURES=x86_64
- -DENABLE_APPLE_FRAMEWORK=ON
- -DCMAKE_INSTALL_BINDIR=Frameworks
- -DENABLE_SSL=OFF
- -DENABLE_SASL=OFF
- -DENABLE_ZLIB=OFF
- -DENABLE_SNAPPY=OFF
- -DCMAKE_C_FLAGS="-fembed-bitcode -Wunguarded-availability"
- -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode"
- disable_unit_tests: true
- enable_embedded_tests: ios_tvos_simulator
- ios_sim_device: iPhone-7
- ios_sim_runtime: iOS-11-0
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-appletvos-10.2
- display_name: "Embedded SDK - tvOS 10.2"
- run_on:
- - macos-1012
- batchtime: 1440 # 1 day
- expansions:
- cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- compile_env: DEVELOPER_DIR=/Applications/XCode9.2.app
- compile_flags: >-
- -j$(sysctl -n hw.logicalcpu)
- --variables-files=etc/scons/xcode_tvos.vars
- FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
- --lto
- cdriver_cmake_osx_deployment_target: "10.2"
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_OSX_SYSROOT="$(xcrun --sdk appletvos --show-sdk-path)"
- -DCMAKE_OSX_ARCHITECTURES=arm64
- -DENABLE_APPLE_FRAMEWORK=ON
- -DCMAKE_INSTALL_BINDIR=Frameworks
- -DENABLE_SSL=OFF
- -DENABLE_SASL=OFF
- -DENABLE_ZLIB=OFF
- -DENABLE_SNAPPY=OFF
- -DCMAKE_C_FLAGS="-fembed-bitcode -Wunguarded-availability"
- -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode"
- disable_unit_tests: true
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-appletvsimulator-10.2
- display_name: "Embedded SDK - tvOS Simulator 10.2"
- run_on:
- - macos-1012
- batchtime: 1440 # 1 day
- expansions:
- cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- compile_env: DEVELOPER_DIR=/Applications/XCode9.2.app
- compile_flags: >-
- -j$(sysctl -n hw.logicalcpu)
- --variables-files=etc/scons/xcode_tvos_sim.vars
- FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
- --lto
- cdriver_cmake_osx_deployment_target: "10.2"
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_OSX_SYSROOT="$(xcrun --sdk appletvsimulator --show-sdk-path)"
- -DCMAKE_OSX_ARCHITECTURES=x86_64
- -DENABLE_APPLE_FRAMEWORK=ON
- -DCMAKE_INSTALL_BINDIR=Frameworks
- -DENABLE_SSL=OFF
- -DENABLE_SASL=OFF
- -DENABLE_ZLIB=OFF
- -DENABLE_SNAPPY=OFF
- -DCMAKE_C_FLAGS="-fembed-bitcode -Wunguarded-availability"
- -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode"
- disable_unit_tests: true
- enable_embedded_tests: ios_tvos_simulator
- ios_sim_device: Apple-TV-1080p
- ios_sim_runtime: tvOS-10-2
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-watchos-4.2
- display_name: "Embedded SDK - watchOS 4.2"
- run_on:
- - macos-1012
- batchtime: 1440 # 1 day
- expansions:
- cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- compile_env: DEVELOPER_DIR=/Applications/XCode9.2.app
- compile_flags: >-
- -j$(sysctl -n hw.logicalcpu)
- --variables-files=etc/scons/xcode_watchos.vars
- FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
- --lto
- cdriver_cmake_osx_deployment_target: "4.2"
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_OSX_SYSROOT="$(xcrun --sdk watchos --show-sdk-path)"
- -DCMAKE_OSX_ARCHITECTURES=armv7k
- -DENABLE_APPLE_FRAMEWORK=ON
- -DCMAKE_INSTALL_BINDIR=Frameworks
- -DENABLE_SSL=OFF
- -DENABLE_SASL=OFF
- -DENABLE_ZLIB=OFF
- -DENABLE_SNAPPY=OFF
- -DCMAKE_C_FLAGS="-fembed-bitcode -fapplication-extension -Wunguarded-availability"
- -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -fapplication-extension"
- disable_unit_tests: true
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-watchsimulator-4.2
- display_name: "Embedded SDK - watchOS Simulator 4.2"
- run_on:
- - macos-1012
- batchtime: 1440 # 1 day
- expansions:
- cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- compile_env: DEVELOPER_DIR=/Applications/XCode9.2.app
- compile_flags: >-
- -j$(sysctl -n hw.logicalcpu)
- --variables-files=etc/scons/xcode_watchos_sim.vars
- FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
- --lto
- cdriver_cmake_osx_deployment_target: "4.2"
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_OSX_SYSROOT="$(xcrun --sdk watchsimulator --show-sdk-path)"
- -DCMAKE_OSX_ARCHITECTURES=i386
- -DENABLE_APPLE_FRAMEWORK=ON
- -DCMAKE_INSTALL_BINDIR=Frameworks
- -DENABLE_SSL=OFF
- -DENABLE_SASL=OFF
- -DENABLE_ZLIB=OFF
- -DENABLE_SNAPPY=OFF
- -DCMAKE_C_FLAGS="-fembed-bitcode -fapplication-extension -Wunguarded-availability"
- -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -fapplication-extension"
- disable_unit_tests: true
- enable_embedded_tests: ios_tvos_simulator
- ios_sim_device: Apple-Watch-Series-3-42mm
- ios_sim_runtime: watchOS-4-2
dump_scons_config_on_failure: true
tasks:
- name: embedded_sdk_build_and_test
-- name: embedded-sdk-apple-multiarch
- display_name: "Embedded SDK - Apple Multiarch"
- run_on:
- - macos-release
- batchtime: 1440 # 1 day
- expansions:
- compile_env: DEVELOPER_DIR=/Applications/XCode9.2.app
- push_path: mobile
- push_name: apple
- push_bucket: downloads.mongodb.org
- tasks:
- - name: embedded_sdk_multiarch_apple_package
-
- name: embedded-sdk-ubuntu-1604-x86_64
display_name: "Embedded SDK - Ubuntu 16.04 x86_64"
run_on:
@@ -9310,166 +8390,10 @@ buildvariants:
-DCMAKE_C_FLAGS="-flto"
-DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib
disable_unit_tests: true
- enable_embedded_tests: native
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-android-arm32
- display_name: "Embedded SDK - Android arm32"
- run_on:
- - ubuntu1604-build
- batchtime: 1440 # 1 day
- expansions:
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- compile_env: JAVA_HOME=/opt/java/jdk8/
- compile_flags: >-
- -j$(grep -c ^processor /proc/cpuinfo)
- --android-toolchain-path=$(dirname $(pwd))/android_toolchain-arm-21
- --variables-files=etc/scons/android_toolchain.vars
- LIBS=clang_rt.builtins-arm-android
- LIBPATH="$(dirname $($(dirname $(pwd))/android_toolchain-arm-21/bin/clang -print-file-name=libclang_rt.builtins-arm-android.a)) \$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
- --lto
- AR=$(dirname $(pwd))/android_toolchain-arm-21/bin/llvm-ar
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DANDROID_NATIVE_API_LEVEL=21
- -DANDROID_ABI=armeabi-v7a
- -DCMAKE_TOOLCHAIN_FILE=$WORKDIR/android_sdk/ndk-bundle/build/cmake/android.toolchain.cmake
- -DCMAKE_FIND_ROOT_PATH="$WORKDIR/android_toolchain-arm-21;$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DENABLE_ZLIB=OFF
- -DENABLE_SRV=OFF
- -DCMAKE_C_FLAGS="-flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-flto"
- -DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib
- disable_unit_tests: true
- enable_embedded_tests: android_emulator
- setup_android_toolchain: true
- android_toolchain_system_image_arch: "armeabi-v7a"
- android_system_image_version: "24"
- android_toolchain_target_arch: "arm"
- android_toolchain_api_version: "21"
dump_scons_config_on_failure: true
tasks:
- name: embedded_sdk_build_and_test
-- name: embedded-sdk-android-arm64
- display_name: "Embedded SDK - Android arm64"
- run_on:
- - ubuntu1604-build
- batchtime: 1440 # 1 day
- expansions:
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- compile_env: JAVA_HOME=/opt/java/jdk8/
- compile_flags: >-
- -j$(grep -c ^processor /proc/cpuinfo)
- --android-toolchain-path=$(dirname $(pwd))/android_toolchain-arm64-21
- --variables-files=etc/scons/android_toolchain.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
- --lto
- AR=$(dirname $(pwd))/android_toolchain-arm64-21/bin/llvm-ar
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DANDROID_NATIVE_API_LEVEL=21
- -DANDROID_ABI=arm64-v8a
- -DCMAKE_TOOLCHAIN_FILE=$WORKDIR/android_sdk/ndk-bundle/build/cmake/android.toolchain.cmake
- -DCMAKE_FIND_ROOT_PATH="$WORKDIR/android_toolchain-arm64-21;$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DENABLE_ZLIB=OFF
- -DENABLE_SRV=OFF
- -DCMAKE_C_FLAGS="-flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-flto"
- -DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib
- disable_unit_tests: true
- enable_embedded_tests: android_emulator
- setup_android_toolchain: true
- android_toolchain_system_image_arch: "arm64-v8a"
- android_system_image_version: "24"
- android_toolchain_target_arch: "arm64"
- android_toolchain_api_version: "21"
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-android-x86_64
- display_name: "Embedded SDK - Android x86_64"
- run_on:
- - ubuntu1604-build
- batchtime: 1440 # 1 day
- expansions:
- test_flags: --excludeWithAnyTags=requires_mmapv1,uses_transactions
- compile_env: JAVA_HOME=/opt/java/jdk8/
- compile_flags: >-
- -j$(grep -c ^processor /proc/cpuinfo)
- --android-toolchain-path=$(dirname $(pwd))/android_toolchain-x86_64-21
- --variables-files=etc/scons/android_toolchain.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
- --lto
- AR=$(dirname $(pwd))/android_toolchain-x86_64-21/bin/llvm-ar
- cdriver_cmake_flags: >-
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DANDROID_NATIVE_API_LEVEL=21
- -DANDROID_ABI=x86_64
- -DCMAKE_TOOLCHAIN_FILE=$WORKDIR/android_sdk/ndk-bundle/build/cmake/android.toolchain.cmake
- -DCMAKE_FIND_ROOT_PATH="$WORKDIR/android_toolchain-x86_64-21;$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DENABLE_ZLIB=OFF
- -DENABLE_SRV=OFF
- -DCMAKE_C_FLAGS="-flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-flto"
- -DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib
- disable_unit_tests: true
- # The Android x86_64 emulator requires KVM.
- enable_embedded_tests: android_emulator
- setup_android_toolchain: true
- android_toolchain_system_image_arch: "x86_64"
- android_system_image_version: "24"
- android_toolchain_target_arch: "x86_64"
- android_toolchain_api_version: "21"
- dump_scons_config_on_failure: true
- tasks:
- - name: embedded_sdk_build_and_test
-
-- name: embedded-sdk-android-multiarch
- display_name: "Embedded SDK - Android Multiarch Package"
- run_on:
- - ubuntu1604-build
- batchtime: 1440 # 1 day
- expansions:
- compile_env: JAVA_HOME=/opt/java/jdk8/
- setup_android_toolchain: true
- android_toolchain_system_image_arch: "x86_64"
- android_system_image_version: 24
- android_toolchain_target_arch: "x86_64"
- android_toolchain_api_version: "21"
- tasks:
- - name: embedded_sdk_multiarch_android_package
-
-- name: embedded-sdk-java-multiarch
- display_name: "Embedded SDK - Java Multiarch Package"
- run_on:
- - ubuntu1604-build
- batchtime: 1440 # 1 day
- expansions:
- compile_env: JAVA_HOME=/opt/java/jdk8/
- setup_android_toolchain: true
- android_toolchain_system_image_arch: "x86_64"
- android_system_image_version: 24
- android_toolchain_target_arch: "x86_64"
- android_toolchain_api_version: "21"
- tasks:
- - name: embedded_sdk_multiarch_java_package
-
###########################################
# Redhat buildvariants #
###########################################
diff --git a/etc/scons/android_toolchain.vars b/etc/scons/android_toolchain.vars
deleted file mode 100644
index d54b004433b..00000000000
--- a/etc/scons/android_toolchain.vars
+++ /dev/null
@@ -1,29 +0,0 @@
-# Configures the build to use the Android NDK toolchain if supplied on the command line
-
-import os
-import platform
-import subprocess
-import SCons
-
-compiler_suffix = ""
-if platform.system() == "Windows":
- compiler_suffix = ".cmd"
-
-toolchain_path = SCons.Script.Main.GetOption('android-toolchain-path')
-
-if not toolchain_path:
- print("Path to Android standalone toolchain must be set with --android-toolchain-path when using android_toolchain.vars")
- SCons.Script.Exit(1)
-
-CC=os.path.join(toolchain_path, "bin", "clang" + compiler_suffix)
-CXX=os.path.join(toolchain_path, "bin", "clang++" + compiler_suffix)
-AR=subprocess.check_output([CXX, '-print-prog-name=ar']).strip()
-OBJCOPY=subprocess.check_output([CXX, '-print-prog-name=objcopy']).strip()
-
-
-LINKFLAGS='-static-libstdc++ -fuse-ld=gold'
-CPPDEFINES='__ANDROID_API__=21 ASIO_DISABLE_STD_STRING_VIEW'
-
-TARGET_OS="android"
-TOOLS="gcc g++ gnulink ar gas"
-PROGSUFFIX = ""
diff --git a/etc/scons/xcode_ios.vars b/etc/scons/xcode_ios.vars
deleted file mode 100644
index ad2e5b5b68f..00000000000
--- a/etc/scons/xcode_ios.vars
+++ /dev/null
@@ -1,15 +0,0 @@
-# Configures the build to use XCode targeting iOS
-
-import subprocess
-
-CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphoneos', 'clang']).strip()
-CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphoneos', 'clang++']).strip()
-
-sdk_path = subprocess.check_output(['xcrun', '--sdk', 'iphoneos', '--show-sdk-path']).strip()
-
-CCFLAGS = "-isysroot {} -miphoneos-version-min=11.0 -arch arm64 -fembed-bitcode".format(sdk_path)
-LINKFLAGS = "-Wl,-syslibroot,{} -miphoneos-version-min=11.0 -arch arm64 -fembed-bitcode".format(sdk_path)
-
-TARGET_OS = "iOS"
-TARGET_ARCH = "aarch64"
-
diff --git a/etc/scons/xcode_ios_sim.vars b/etc/scons/xcode_ios_sim.vars
deleted file mode 100644
index a4ddd9a403e..00000000000
--- a/etc/scons/xcode_ios_sim.vars
+++ /dev/null
@@ -1,14 +0,0 @@
-# Configures the build to use XCode targeting iOS simulator
-
-import subprocess
-
-CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphonesimulator', 'clang']).strip()
-CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphonesimulator', 'clang++']).strip()
-
-sdk_path = subprocess.check_output(['xcrun', '--sdk', 'iphonesimulator', '--show-sdk-path']).strip()
-
-CCFLAGS = "-isysroot {} -miphoneos-version-min=11.0 -arch x86_64 -fembed-bitcode".format(sdk_path)
-LINKFLAGS = "-Wl,-syslibroot,{} -miphoneos-version-min=11.0 -arch x86_64 -fembed-bitcode".format(sdk_path)
-
-TARGET_OS = "iOS-sim"
-TARGET_ARCH = "x86_64"
diff --git a/etc/scons/xcode_tvos.vars b/etc/scons/xcode_tvos.vars
deleted file mode 100644
index 10c4a57c3fb..00000000000
--- a/etc/scons/xcode_tvos.vars
+++ /dev/null
@@ -1,14 +0,0 @@
-# Configures the build to use XCode targeting tvOS
-
-import subprocess
-
-CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvos', 'clang']).strip()
-CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvos', 'clang++']).strip()
-
-sdk_path = subprocess.check_output(['xcrun', '--sdk', 'appletvos', '--show-sdk-path']).strip()
-
-CCFLAGS = "-isysroot {} -mtvos-version-min=10.2 -arch arm64 -fembed-bitcode".format(sdk_path)
-LINKFLAGS = "-Wl,-syslibroot,{} -mtvos-version-min=10.2 -arch arm64 -fembed-bitcode".format(sdk_path)
-
-TARGET_OS = "tvOS"
-TARGET_ARCH = "aarch64"
diff --git a/etc/scons/xcode_tvos_sim.vars b/etc/scons/xcode_tvos_sim.vars
deleted file mode 100644
index b795cd0c2eb..00000000000
--- a/etc/scons/xcode_tvos_sim.vars
+++ /dev/null
@@ -1,14 +0,0 @@
-# Configures the build to use XCode targeting tvOS simulator
-
-import subprocess
-
-CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvsimulator', 'clang']).strip()
-CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvsimulator', 'clang++']).strip()
-
-sdk_path = subprocess.check_output(['xcrun', '--sdk', 'appletvsimulator', '--show-sdk-path']).strip()
-
-CCFLAGS = "-isysroot {} -mtvos-version-min=10.2 -arch x86_64 -fembed-bitcode".format(sdk_path)
-LINKFLAGS = "-Wl,-syslibroot,{} -mtvos-version-min=10.2 -arch x86_64 -fembed-bitcode".format(sdk_path)
-
-TARGET_OS = "tvOS-sim"
-TARGET_ARCH = "x86_64"
diff --git a/etc/scons/xcode_watchos.vars b/etc/scons/xcode_watchos.vars
deleted file mode 100644
index f6b4843cd7f..00000000000
--- a/etc/scons/xcode_watchos.vars
+++ /dev/null
@@ -1,14 +0,0 @@
-# Configures the build to use XCode targeting iOS
-
-import subprocess
-
-CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'watchos', 'clang']).strip()
-CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'watchos', 'clang++']).strip()
-
-sdk_path = subprocess.check_output(['xcrun', '--sdk', 'watchos', '--show-sdk-path']).strip()
-
-CCFLAGS = "-isysroot {} -mwatchos-version-min=4.2 -arch armv7k -fembed-bitcode -fapplication-extension".format(sdk_path)
-LINKFLAGS = "-Wl,-syslibroot,{} -mwatchos-version-min=4.2 -arch armv7k -fembed-bitcode -fapplication-extension".format(sdk_path)
-
-TARGET_OS = "watchOS"
-TARGET_ARCH = "arm"
diff --git a/etc/scons/xcode_watchos_sim.vars b/etc/scons/xcode_watchos_sim.vars
deleted file mode 100644
index 4cd2b12982c..00000000000
--- a/etc/scons/xcode_watchos_sim.vars
+++ /dev/null
@@ -1,14 +0,0 @@
-# Configures the build to use XCode targeting iOS simulator
-
-import subprocess
-
-CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'watchsimulator', 'clang']).strip()
-CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'watchsimulator', 'clang++']).strip()
-
-sdk_path = subprocess.check_output(['xcrun', '--sdk', 'watchsimulator', '--show-sdk-path']).strip()
-
-CCFLAGS = "-isysroot {} -mwatchos-version-min=4.2 -arch i386 -fembed-bitcode -fapplication-extension".format(sdk_path)
-LINKFLAGS = "-Wl,-syslibroot,{} -mwatchos-version-min=4.2 -arch i386 -fembed-bitcode -fapplication-extension".format(sdk_path)
-
-TARGET_OS = "watchOS-sim"
-TARGET_ARCH = "i386"