2024-04-11 02:47:07 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
# Whenever Bazel is invoked, it first calls this script setting "BAZEL_REAL" to the path of the real Bazel binary.
|
|
|
|
# Use this file as a wrapper for any logic that should run before bazel itself is executed.
|
|
|
|
|
2024-11-01 21:26:33 +01:00
|
|
|
# WARNING : If you run //:compiledb target, you can not print to stdout in this file as it will fail with
|
|
|
|
# "Bazel aquery failed." because it is reading this files stdout as aquery output
|
|
|
|
|
|
|
|
bazel_real="$BAZEL_REAL"
|
|
|
|
bazelrc_xcode_lines=()
|
|
|
|
|
2024-04-11 02:47:07 +02:00
|
|
|
if [[ -z "${BAZELISK_SKIP_WRAPPER}" ]]; then
|
|
|
|
echo "You're not using Bazelisk, which is recommended for a consistent build environment." >&2
|
|
|
|
echo "Your version of Bazel may be mismatched with the version intended to be used to build MongoDB." >&2
|
|
|
|
echo "Please run the following command to install Bazelisk:" >&2
|
|
|
|
echo "" >&2
|
|
|
|
echo "python buildscripts/install_bazel.py" >&2
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2024-10-30 00:45:10 +01:00
|
|
|
# TODO(SERVER-96398): Apply this to Windows when we find a way to do perfect argument forwarding
|
|
|
|
# in a batch file.
|
|
|
|
if [ -d .git ]; then
|
|
|
|
echo "build --define GIT_COMMIT_HASH=$(git rev-parse HEAD)" > .bazelrc.gitinfo
|
|
|
|
fi
|
|
|
|
|
2024-11-01 21:26:33 +01:00
|
|
|
if [[ $OSTYPE == darwin* ]]; then
|
|
|
|
echo "Running on Apple (darwin), creating .bazelrc for xcode settings." >&2
|
|
|
|
xcode_path=$(xcode-select -p) >&2
|
|
|
|
xcode_version=$(xcodebuild -version | tail -1 | cut -d " " -f3) >&2
|
|
|
|
xcode_build_number=$(/usr/bin/xcodebuild -version 2>/dev/null | tail -1 | cut -d " " -f3) >&2
|
|
|
|
|
|
|
|
bazelrc_lines+=("startup --host_jvm_args=-Xdock:name=$xcode_path") >&2
|
|
|
|
bazelrc_lines+=("build --xcode_version=$xcode_version") >&2
|
|
|
|
bazelrc_lines+=("build --repo_env=USE_CLANG_CL=$xcode_version") >&2
|
|
|
|
bazelrc_lines+=("build --repo_env=DEVELOPER_DIR=$xcode_path") >&2
|
|
|
|
fi
|
|
|
|
|
|
|
|
printf '%s\n' "${bazelrc_xcode_lines[@]}" > .bazelrc.xcode
|
|
|
|
|
|
|
|
exec "$bazel_real" "$@"
|