Serialize Gradle and test runs
This commit is contained in:
22
jaigradle
22
jaigradle
@@ -13,11 +13,22 @@
|
||||
# and throw UnsupportedClassVersionError on 17.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
source ./gradle-lock.sh
|
||||
|
||||
if command -v mise >/dev/null 2>&1; then
|
||||
exec mise exec -- ./gradlew "$@"
|
||||
# `--stop` is an explicit recovery operation; it must be able to stop a
|
||||
# daemon even when a stale lock was left by an interrupted run.
|
||||
if [[ "${1:-}" != "--stop" ]]; then
|
||||
jai_gradle_lock_acquire
|
||||
trap jai_gradle_lock_release EXIT
|
||||
trap 'exit 130' INT
|
||||
trap 'exit 143' TERM
|
||||
fi
|
||||
|
||||
status=0
|
||||
if command -v mise >/dev/null 2>&1; then
|
||||
mise exec -- ./gradlew "$@" || status=$?
|
||||
else
|
||||
|
||||
# Fallback: mise is not installed. Try an already-set JAVA_HOME, then any
|
||||
# JDK 21 that Gradle has auto-provisioned.
|
||||
if [ ! -x "${JAVA_HOME:-}/bin/java" ]; then
|
||||
@@ -35,4 +46,9 @@ if [ ! -x "${JAVA_HOME:-}/bin/java" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec ./gradlew "$@"
|
||||
./gradlew "$@" || status=$?
|
||||
fi
|
||||
|
||||
jai_gradle_lock_release
|
||||
trap - EXIT INT TERM
|
||||
exit "$status"
|
||||
|
||||
Reference in New Issue
Block a user