mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 14:30:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Simple pre-commit hook to check that there are no errors in the fdroid
 | 
						|
# metadata files.
 | 
						|
 | 
						|
# Redirect output to stderr.
 | 
						|
exec 1>&2
 | 
						|
 | 
						|
PY_FILES="fdroid makebuildserver setup.py examples/*.py buildserver/*.py fdroidserver/*.py"
 | 
						|
SH_FILES="fd-commit jenkins-build docs/*.sh hooks/pre-commit"
 | 
						|
RB_FILES="buildserver/cookbooks/*/recipes/*.rb"
 | 
						|
 | 
						|
err() {
 | 
						|
	echo ERROR: "$@"
 | 
						|
	exit 1
 | 
						|
}
 | 
						|
 | 
						|
cmd_exists() {
 | 
						|
	command -v $1 1>/dev/null
 | 
						|
}
 | 
						|
 | 
						|
# For systems that switched to python3, first check for the python2 versions
 | 
						|
 | 
						|
if cmd_exists pyflakes-python2; then
 | 
						|
	PYFLAKES=pyflakes-python2
 | 
						|
elif cmd_exists pyflakes; then
 | 
						|
	PYFLAKES=pyflakes
 | 
						|
else
 | 
						|
	err "pyflakes is not installed!"
 | 
						|
fi
 | 
						|
 | 
						|
if cmd_exists pep8-python2; then
 | 
						|
	PEP8=pep8-python2
 | 
						|
elif cmd_exists pep8; then
 | 
						|
	PEP8=pep8
 | 
						|
else
 | 
						|
	err "pep8 is not installed!"
 | 
						|
fi
 | 
						|
 | 
						|
# If there are python errors or warnings, print them and fail.
 | 
						|
 | 
						|
if ! $PYFLAKES $PY_FILES; then
 | 
						|
	err "pyflakes tests failed!"
 | 
						|
fi
 | 
						|
 | 
						|
if ! $PEP8 --ignore=E123,E501 $PY_FILES; then
 | 
						|
	err "pep8 tests failed!"
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
# check the syntax of included shell scripts with bash -n
 | 
						|
 | 
						|
for f in $SH_FILES; do
 | 
						|
	if ! bash -n $f; then
 | 
						|
		err "bash tests failed!"
 | 
						|
	fi
 | 
						|
done
 | 
						|
 | 
						|
# check the syntax of included ruby scripts with ruby -c
 | 
						|
 | 
						|
for f in $RB_FILES; do
 | 
						|
	if ! ruby -c $f 1>/dev/null; then
 | 
						|
		err "ruby tests failed!"
 | 
						|
	fi
 | 
						|
done
 | 
						|
 | 
						|
exit 0
 |