mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-02 12:30:31 +00:00
f128d3baf7
This file was formerly named `Libraries/LibCore/puff.c` and it was not checked by `check-style.sh` because it only checks .h and .cpp files. Since this file was not written by us, we shouldn't check its style. This file was also causing our Travis builds to fail.
57 lines
1.7 KiB
Bash
Executable file
57 lines
1.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
|
|
cd "$script_path/.." || exit 1
|
|
|
|
# We simply check if the file starts with:
|
|
# /*
|
|
# * Copyright
|
|
LICENSE_HEADER_PATTERN=$'^/\*\n \* Copyright'
|
|
MISSING_LICENSE_HEADER_ERRORS=()
|
|
|
|
# We check that "#pragma once" is present
|
|
PRAGMA_ONCE_PATTERN='#pragma once'
|
|
MISSING_PRAGMA_ONCE_ERRORS=()
|
|
|
|
# We make sure that there's a blank line before and after pragma once
|
|
GOOD_PRAGMA_ONCE_PATTERN=$'(^|\\S\n\n)#pragma once(\n\n\\S.|$)'
|
|
BAD_PRAGMA_ONCE_ERRORS=()
|
|
|
|
while IFS= read -r f; do
|
|
file_content="$(< "$f")"
|
|
if [[ ! "$file_content" =~ $LICENSE_HEADER_PATTERN ]]; then
|
|
MISSING_LICENSE_HEADER_ERRORS+=("$f")
|
|
fi
|
|
if [[ "$f" =~ \.h$ ]]; then
|
|
if [[ ! "$file_content" =~ $PRAGMA_ONCE_PATTERN ]]; then
|
|
MISSING_PRAGMA_ONCE_ERRORS+=("$f")
|
|
elif [[ ! "$file_content" =~ $GOOD_PRAGMA_ONCE_PATTERN ]]; then
|
|
BAD_PRAGMA_ONCE_ERRORS+=("$f")
|
|
fi
|
|
fi
|
|
done < <(git ls-files -- \
|
|
'*.cpp' \
|
|
'*.h' \
|
|
':!:Tests' \
|
|
':!:Base' \
|
|
':!:Kernel/FileSystem/ext2_fs.h' \
|
|
':!:Libraries/LibC/getopt.cpp' \
|
|
':!:Libraries/LibCore/puff.h' \
|
|
':!:Libraries/LibCore/puff.cpp' \
|
|
':!:Libraries/LibELF/exec_elf.h' \
|
|
)
|
|
|
|
exit_status=0
|
|
if (( ${#MISSING_LICENSE_HEADER_ERRORS[@]} )); then
|
|
echo "Files missing license headers: ${MISSING_LICENSE_HEADER_ERRORS[*]}"
|
|
exit_status=1
|
|
fi
|
|
if (( ${#MISSING_PRAGMA_ONCE_ERRORS[@]} )); then
|
|
echo "Header files missing \"#pragma once\": ${MISSING_PRAGMA_ONCE_ERRORS[*]}"
|
|
exit_status=1
|
|
fi
|
|
if (( ${#BAD_PRAGMA_ONCE_ERRORS[@]} )); then
|
|
echo "\"#pragma once\" should have a blank line before and after in these files: ${BAD_PRAGMA_ONCE_ERRORS[*]}"
|
|
exit_status=1
|
|
fi
|
|
exit "$exit_status"
|