Skip to content

Instantly share code, notes, and snippets.

@ephemient
Created November 2, 2017 16:49
Show Gist options
  • Save ephemient/b0e87fab5b375bfbbdad6d99bcde259c to your computer and use it in GitHub Desktop.
Save ephemient/b0e87fab5b375bfbbdad6d99bcde259c to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -eu
TOPLEVEL=$(git rev-parse --show-toplevel 2>/dev/null) PREFIX=$(git rev-parse --show-prefix 2>/dev/null) ||
TOPLEVEL= PREFIX=${PWD#/}
PREFIX=${PREFIX%/} GRADLE= BUILD=
while [[ -z ${GRADLE} || -z ${BUILD} ]]; do
[[ -z ${GRADLE} && -e ${TOPLEVEL}/${PREFIX:+${PREFIX}/}gradlew ]] &&
GRADLE=${TOPLEVEL}/${PREFIX:+${PREFIX}/}gradlew
if [[ -z ${BUILD} && -e ${TOPLEVEL}/${PREFIX:+${PREFIX}/}build.gradle.kts ]]; then
BUILD=${TOPLEVEL}/${PREFIX:+${PREFIX}/}build.gradle.kts
elif [[ -z ${BUILD} && -e ${TOPLEVEL}/${PREFIX:+${PREFIX}/}build.gradle ]]; then
BUILD=${TOPLEVEL}/${PREFIX:+${PREFIX}/}build.gradle
fi
[[ ${PREFIX} = *[^/]* ]] || break
[[ ${PREFIX} = */* ]] && PREFIX=${PREFIX%/*} || PREFIX=
done
exec "${GRADLE:-gradle}" ${BUILD:+-b "${BUILD}"} "$@"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment