33 lines
933 B
Bash
Executable File
33 lines
933 B
Bash
Executable File
#!/bin/bash
|
|
# stolen from https://gist.github.com/Gethe/bbcc180770eb9edeebaf83c96844c5df
|
|
|
|
# copy file to .git/hooks/pre-commit
|
|
# needs bash and luacheck installed and optionally minetest_check_translations in $translate_check_py
|
|
|
|
git_root=$(git rev-parse --show-toplevel)
|
|
translate_check_py=../../../minetest_check_translations/i18ncheck.py
|
|
|
|
exitCode=
|
|
for file in $(git diff --cached --name-only | grep -E '\.lua$'); do
|
|
# we only want to check the staged changes, not any un-staged changes
|
|
if [[ -f "$file" ]]; then
|
|
luacheck "$file" --formatter plain
|
|
fi
|
|
|
|
if [[ $? -eq 1 ]]; then
|
|
# we want to go through all files before we exit, so just store it for now
|
|
exitCode=1
|
|
fi
|
|
done
|
|
|
|
if [ -x "$git_root/$translate_check_py" ]; then
|
|
cd "$git_root"
|
|
if [ "$($git_root/$translate_check_py mods |grep 'Test FAILED!')" != "" ]; then
|
|
$translate_check_py mods/
|
|
exitCode=1
|
|
fi
|
|
cd -
|
|
fi
|
|
|
|
exit $exitCode
|