Files

46 lines
796 B
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
if [[ -n "${FORGE_SCOPE_HELPER_LOADED:-}" ]]; then
return 0
fi
FORGE_SCOPE_HELPER_LOADED=1
forge_scope_repo_root() {
local helper_dir
helper_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
if [[ -n "${PROJECT_ROOT:-}" ]]; then
printf '%s\n' "$PROJECT_ROOT"
return 0
fi
if [[ -n "${REPO_ROOT:-}" ]]; then
printf '%s\n' "$REPO_ROOT"
return 0
fi
printf '%s\n' "$(cd "$helper_dir/../.." && pwd)"
}
forge_scoped() {
local root
root="$(forge_scope_repo_root)"
bash "$root/scripts/forge/scope.sh" "$@"
}
forge() {
if [[ $# -gt 0 ]]; then
case "$1" in
build|test|script)
local subcommand="$1"
shift
forge_scoped "$subcommand" "$@"
return $?
;;
esac
fi
command forge "$@"
}