fix: add JS_BINARY__EXECROOT environment variable to js_binary launcher
diff --git a/js/private/js_binary.sh.tpl b/js/private/js_binary.sh.tpl
index 6f5055f..04ca2c7 100644
--- a/js/private/js_binary.sh.tpl
+++ b/js/private/js_binary.sh.tpl
@@ -231,6 +231,9 @@
RUNFILES="$PWD/$RUNFILES"
fi
export RUNFILES
+# TODO(2.0): remove RUNFILES and export only JS_BINARY__RUNFILES
+JS_BINARY__RUNFILES="$RUNFILES"
+export JS_BINARY__RUNFILES
# ==============================================================================
# Prepare to run main program
@@ -256,11 +259,11 @@
printf "\nERROR: %s: No 'bazel-out' folder found in path '${PWD}'\n" "$JS_BINARY__LOG_PREFIX" >&2
exit 1
fi
- execroot="${PWD:0:$index}"
+ JS_BINARY__EXECROOT="${PWD:0:$index}"
else
# We are in execroot or in some other context all together such as a nodejs_image or a manually
# run js_binary.
- execroot="$PWD"
+ JS_BINARY__EXECROOT="$PWD"
if [ -z "${BAZEL_BINDIR:-}" ]; then
logf_fatal "BAZEL_BINDIR must be set in environment to the makevar \$(BINDIR) in js_binary build actions (which \
run in the execroot) so that build actions can change directories to always run out of the root of the Bazel output \
@@ -279,6 +282,8 @@
logf_debug "changing directory to BAZEL_BINDIR (root of Bazel output tree) %s" "$BAZEL_BINDIR"
cd "$BAZEL_BINDIR"
fi
+export JS_BINARY__EXECROOT
+export BAZEL_BINDIR
entry_point="$RUNFILES/{{workspace_name}}/{{entry_point_path}}"
if [ ! -f "$entry_point" ]; then
@@ -347,7 +352,7 @@
done
# Configure JS_BINARY__FS_PATCH_ROOTS for node fs patches which are run via --require in the node wrapper
-export JS_BINARY__FS_PATCH_ROOTS="$execroot:$RUNFILES"
+export JS_BINARY__FS_PATCH_ROOTS="$JS_BINARY__EXECROOT:$RUNFILES"
# Enable coverage if requested
if [ "${COVERAGE_DIR:-}" ]; then
@@ -362,7 +367,7 @@
# Debug logs
if [ "${JS_BINARY__LOG_DEBUG:-}" ]; then
if [ "${BAZEL_BINDIR:-}" ]; then
- logf_debug "BAZEL_BINDIR %s" "${BAZEL_BINDIR:-}"
+ logf_debug "BAZEL_BINDIR! %s" "${BAZEL_BINDIR:-}"
fi
if [ "${BAZEL_TARGET_CPU:-}" ]; then
logf_debug "BAZEL_TARGET_CPU %s" "${BAZEL_TARGET_CPU:-}"
@@ -400,7 +405,7 @@
fi
logf_info "binary target %s" "${JS_BINARY__TARGET:-}"
logf_info "RUNFILES %s" "$RUNFILES"
- logf_info "execroot %s" "$execroot"
+ logf_info "EXECROOT %s" "$JS_BINARY__EXECROOT"
logf_info "PWD %s" "$PWD"
fi
diff --git a/js/private/test/shellcheck_launcher.sh b/js/private/test/shellcheck_launcher.sh
index ec1d7ed..38e51c4 100755
--- a/js/private/test/shellcheck_launcher.sh
+++ b/js/private/test/shellcheck_launcher.sh
@@ -249,6 +249,9 @@
RUNFILES="$PWD/$RUNFILES"
fi
export RUNFILES
+# TODO(2.0): remove RUNFILES and export only JS_BINARY__RUNFILES
+JS_BINARY__RUNFILES="$RUNFILES"
+export JS_BINARY__RUNFILES
# ==============================================================================
# Prepare to run main program
@@ -274,11 +277,11 @@
printf "\nERROR: %s: No 'bazel-out' folder found in path '${PWD}'\n" "$JS_BINARY__LOG_PREFIX" >&2
exit 1
fi
- execroot="${PWD:0:$index}"
+ JS_BINARY__EXECROOT="${PWD:0:$index}"
else
# We are in execroot or in some other context all together such as a nodejs_image or a manually
# run js_binary.
- execroot="$PWD"
+ JS_BINARY__EXECROOT="$PWD"
if [ -z "${BAZEL_BINDIR:-}" ]; then
logf_fatal "BAZEL_BINDIR must be set in environment to the makevar \$(BINDIR) in js_binary build actions (which \
run in the execroot) so that build actions can change directories to always run out of the root of the Bazel output \
@@ -297,6 +300,8 @@
logf_debug "changing directory to BAZEL_BINDIR (root of Bazel output tree) %s" "$BAZEL_BINDIR"
cd "$BAZEL_BINDIR"
fi
+export JS_BINARY__EXECROOT
+export BAZEL_BINDIR
entry_point="$RUNFILES/aspect_rules_js/js/private/test/shellcheck.js"
if [ ! -f "$entry_point" ]; then
@@ -365,7 +370,7 @@
done
# Configure JS_BINARY__FS_PATCH_ROOTS for node fs patches which are run via --require in the node wrapper
-export JS_BINARY__FS_PATCH_ROOTS="$execroot:$RUNFILES"
+export JS_BINARY__FS_PATCH_ROOTS="$JS_BINARY__EXECROOT:$RUNFILES"
# Enable coverage if requested
if [ "${COVERAGE_DIR:-}" ]; then
@@ -380,7 +385,7 @@
# Debug logs
if [ "${JS_BINARY__LOG_DEBUG:-}" ]; then
if [ "${BAZEL_BINDIR:-}" ]; then
- logf_debug "BAZEL_BINDIR %s" "${BAZEL_BINDIR:-}"
+ logf_debug "BAZEL_BINDIR! %s" "${BAZEL_BINDIR:-}"
fi
if [ "${BAZEL_TARGET_CPU:-}" ]; then
logf_debug "BAZEL_TARGET_CPU %s" "${BAZEL_TARGET_CPU:-}"
@@ -418,7 +423,7 @@
fi
logf_info "binary target %s" "${JS_BINARY__TARGET:-}"
logf_info "RUNFILES %s" "$RUNFILES"
- logf_info "execroot %s" "$execroot"
+ logf_info "EXECROOT %s" "$JS_BINARY__EXECROOT"
logf_info "PWD %s" "$PWD"
fi