diff options
author | Laszlo Csomor <laszlocsomor@google.com> | 2018-04-26 06:36:50 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-26 06:38:06 -0700 |
commit | 753f0f64bc6f42f318c56dc5e063409601011529 (patch) | |
tree | 1c7a5bca7508df6879ca28ed1b945d0daa785546 /src/test/py | |
parent | f2f26cf0339c817609ed49ec61bdaec477124a01 (diff) |
Bash,runfiles: ignore RUNFILES_MANIFEST_ONLY
The Bash runfiles library now ignores
$RUNFILES_MANIFEST_ONLY, instead it checks if the
requested runfile exists either under
$RUNFILES_DIR or under the path that
$RUNFILES_MANIFEST_FILE associates it with.
In this sense, the library now reflects "reality"
(returns the file if it exists) rather than a
"promise" (returns paths based on faith in
envvars).
See https://github.com/bazelbuild/bazel/issues/4460
Change-Id: Idbcfede0757e4b8217313b234c94c88bfd780691
PiperOrigin-RevId: 194388639
Diffstat (limited to 'src/test/py')
-rwxr-xr-x | src/test/py/bazel/testdata/runfiles_test/bar/bar.sh | 24 | ||||
-rwxr-xr-x | src/test/py/bazel/testdata/runfiles_test/foo/foo.sh | 24 |
2 files changed, 22 insertions, 26 deletions
diff --git a/src/test/py/bazel/testdata/runfiles_test/bar/bar.sh b/src/test/py/bazel/testdata/runfiles_test/bar/bar.sh index 26d75fa492..ec1fcc6f3d 100755 --- a/src/test/py/bazel/testdata/runfiles_test/bar/bar.sh +++ b/src/test/py/bazel/testdata/runfiles_test/bar/bar.sh @@ -15,22 +15,20 @@ set -euo pipefail # --- begin runfiles.bash initialization --- -if [[ "${RUNFILES_MANIFEST_ONLY:-}" != 1 && -z "${RUNFILES_DIR:-}" ]]; then - if [[ -f "$0.runfiles_manifest" ]]; then - export RUNFILES_MANIFEST_ONLY=1 - export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest" - elif [[ -f "$0.runfiles/MANIFEST" ]]; then - export RUNFILES_MANIFEST_ONLY=1 - export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST" - elif [[ -d "$0.runfiles" ]]; then - export RUNFILES_DIR="$0.runfiles" - fi +if [[ ! -d "${RUNFILES_DIR:-/dev/null}" && ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then + if [[ -f "$0.runfiles_manifest" ]]; then + export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest" + elif [[ -f "$0.runfiles/MANIFEST" ]]; then + export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST" + elif [[ -f "$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then + export RUNFILES_DIR="$0.runfiles" + fi fi -if [[ "${RUNFILES_MANIFEST_ONLY:-}" == 1 && -f "${RUNFILES_MANIFEST_FILE:-}" ]]; then +if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then + source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash" +elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then source "$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \ "$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)" -elif [[ -n "${RUNFILES_DIR:-}" && -d "${RUNFILES_DIR}" ]]; then - source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash" else echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash" exit 1 diff --git a/src/test/py/bazel/testdata/runfiles_test/foo/foo.sh b/src/test/py/bazel/testdata/runfiles_test/foo/foo.sh index 6a89cfdb6b..ec934ed498 100755 --- a/src/test/py/bazel/testdata/runfiles_test/foo/foo.sh +++ b/src/test/py/bazel/testdata/runfiles_test/foo/foo.sh @@ -15,22 +15,20 @@ set -euo pipefail # --- begin runfiles.bash initialization --- -if [[ "${RUNFILES_MANIFEST_ONLY:-}" != 1 && -z "${RUNFILES_DIR:-}" ]]; then - if [[ -f "$0.runfiles_manifest" ]]; then - export RUNFILES_MANIFEST_ONLY=1 - export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest" - elif [[ -f "$0.runfiles/MANIFEST" ]]; then - export RUNFILES_MANIFEST_ONLY=1 - export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST" - elif [[ -d "$0.runfiles" ]]; then - export RUNFILES_DIR="$0.runfiles" - fi +if [[ ! -d "${RUNFILES_DIR:-/dev/null}" && ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then + if [[ -f "$0.runfiles_manifest" ]]; then + export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest" + elif [[ -f "$0.runfiles/MANIFEST" ]]; then + export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST" + elif [[ -f "$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then + export RUNFILES_DIR="$0.runfiles" + fi fi -if [[ "${RUNFILES_MANIFEST_ONLY:-}" == 1 && -f "${RUNFILES_MANIFEST_FILE:-}" ]]; then +if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then + source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash" +elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then source "$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \ "$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)" -elif [[ -n "${RUNFILES_DIR:-}" && -d "${RUNFILES_DIR}" ]]; then - source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash" else echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash" exit 1 |