diff --git a/compile.sh b/compile.sh index 53fc4127b9fd92..484b043a57d6d7 100755 --- a/compile.sh +++ b/compile.sh @@ -99,8 +99,13 @@ if [ $DO_COMPILE ]; then new_step 'Building Bazel with Bazel' display "." log "Building output/bazel" - bazel_build "src:bazel${EXE_EXT}" - cp -f "bazel-bin/src/bazel${EXE_EXT}" "output/bazel${EXE_EXT}" + bazel_build "src:bazel${EXE_EXT}" \ + || fail "Could not build Bazel" + bazel_bin_path="$(get_bazel_bin_path)/src/bazel${EXE_EXT}" + [ -e "$bazel_bin_path" ] \ + || fail "Could not find freshly built Bazel binary at '$bazel_bin_path'" + cp -f "$bazel_bin_path" "output/bazel${EXE_EXT}" \ + || fail "Could not copy '$bazel_bin_path' to 'output/bazel${EXE_EXT}'" chmod 0755 "output/bazel${EXE_EXT}" BAZEL="$(pwd)/output/bazel${EXE_EXT}" fi diff --git a/scripts/bootstrap/bootstrap.sh b/scripts/bootstrap/bootstrap.sh index c656e15dd022e2..20f5bbabdbdf43 100755 --- a/scripts/bootstrap/bootstrap.sh +++ b/scripts/bootstrap/bootstrap.sh @@ -45,24 +45,31 @@ else fi if [ -z "${BAZEL-}" ]; then - function bazel_build() { - bootstrap_build ${BAZEL_ARGS-} \ - --verbose_failures \ - --javacopt="-g -source ${JAVA_VERSION} -target ${JAVA_VERSION}" \ - "${EMBED_LABEL_ARG[@]}" \ - "${@}" + function run_bootstrapping_bazel() { + local command=$1 + shift + run_bazel_jar $command \ + ${BAZEL_ARGS-} --verbose_failures \ + --javacopt="-g -source ${JAVA_VERSION} -target ${JAVA_VERSION}" "${@}" } else - function bazel_build() { - ${BAZEL} --bazelrc=${BAZELRC} ${BAZEL_DIR_STARTUP_OPTIONS} build \ - ${BAZEL_ARGS-} \ - --verbose_failures \ - --javacopt="-g -source ${JAVA_VERSION} -target ${JAVA_VERSION}" \ - "${EMBED_LABEL_ARG[@]}" \ - "${@}" + function run_bootstrapping_bazel() { + local command=$1 + shift + ${BAZEL} --bazelrc=${BAZELRC} ${BAZEL_DIR_STARTUP_OPTIONS} $command \ + ${BAZEL_ARGS-} --verbose_failures \ + --javacopt="-g -source ${JAVA_VERSION} -target ${JAVA_VERSION}" "${@}" } fi +function bazel_build() { + run_bootstrapping_bazel build "${EMBED_LABEL_ARG[@]}" "$@" +} + +function get_bazel_bin_path() { + run_bootstrapping_bazel info "bazel-bin" || echo "bazel-bin" +} + function md5_outputs() { [ -n "${BAZEL_TEST_XTRACE:-}" ] && set +x # Avoid garbage in the output # runfiles/MANIFEST & runfiles_manifest contain absolute path, ignore. diff --git a/scripts/bootstrap/buildenv.sh b/scripts/bootstrap/buildenv.sh index ebcf9429ac1388..4a946878c2f619 100755 --- a/scripts/bootstrap/buildenv.sh +++ b/scripts/bootstrap/buildenv.sh @@ -158,7 +158,7 @@ function fail() { exitCode=1 fi echo >&2 - echo "$@" >&2 + echo "ERROR: $@" >&2 exit $exitCode } diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh index 77372f015b7543..c72b9f722e0d04 100755 --- a/scripts/bootstrap/compile.sh +++ b/scripts/bootstrap/compile.sh @@ -302,8 +302,9 @@ else cp tools/osx/xcode_locator_stub.sh ${ARCHIVE_DIR}/_embedded_binaries/xcode-locator fi -# bazel build using bootstrap version -function bootstrap_build() { +function run_bazel_jar() { + local command=$1 + shift "${JAVA_HOME}/bin/java" \ -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Dfile.encoding=ISO-8859-1 \ -XX:HeapDumpPath=${OUTPUT_DIR} \ @@ -319,7 +320,7 @@ function bootstrap_build() { --nofatal_event_bus_exceptions \ ${BAZEL_DIR_STARTUP_OPTIONS} \ ${BAZEL_BOOTSTRAP_STARTUP_OPTIONS:-} \ - build \ + $command \ --ignore_unsupported_sandboxing \ --startup_time=329 --extract_data_time=523 \ --rc_source=/dev/null --isatty=1 \