8bef22afb2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
15 lines
647 B
Bash
Executable File
15 lines
647 B
Bash
Executable File
#!/bin/sh
|
||
# Runs ./gradlew with the given arguments, one Gradle build at a time across every worktree and agent on this machine
|
||
# (CLAUDE.md › Build and verify: parallel builds exhaust memory). Waits for a running build to finish, then runs.
|
||
# Usage from any worktree root: tools/gradle-serial.sh check
|
||
lock=/tmp/kvitt-gradle.lock
|
||
top=$(git rev-parse --show-toplevel) || exit 1
|
||
while ! mkdir "$lock" 2>/dev/null; do
|
||
pid=$(cat "$lock/pid" 2>/dev/null)
|
||
if [ -n "$pid" ] && ! kill -0 "$pid" 2>/dev/null; then rm -rf "$lock"; continue; fi
|
||
sleep 5
|
||
done
|
||
echo $$ > "$lock/pid"
|
||
trap 'rm -rf "$lock"' EXIT INT TERM HUP
|
||
cd "$top" && ./gradlew "$@"
|