cfg/bin/git-autohook

19 lines
520 B
Text
Raw Permalink Normal View History

#!/bin/bash
HOOKTYPE=$1
if [ -e Justfile ]; then
just --list --list-heading '' --list-prefix '' |
grep -q "auto-hook-${HOOKTYPE}" && exec just "auto-hook-${HOOKTYPE}" || true
fi
if [ -e Makefile ]; then
TARGETS=$(make -pRrq : 2>/dev/null |
awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' |
sort | grep -E -v -e '^[^[:alnum:]]' | sed 's/:$//' | xargs)
if (echo $TARGETS | grep -q "auto-hook-${HOOKTYPE}"); then
exec make "auto-hook-${HOOKTYPE}"
fi
fi