mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 05:35:39 +00:00
scripts/clean-includes: Make ignore-regexes one per line
Currently we have a single extended regular expression defining files that clean-includes should ignore. This is now very long and awkward to read and edit. Switch to having a list of newline-separated EREs that we write to a file for grep's -f option, so we can express them more legibly in the shell script. We allow for comments in the regex list, which lets us document why we have put the exclusions in. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20260116124005.925382-4-peter.maydell@linaro.org
This commit is contained in:
@@ -42,8 +42,6 @@
|
||||
GIT=no
|
||||
DUPHEAD=no
|
||||
|
||||
# Extended regular expression defining files to ignore when using --all
|
||||
XDIRREGEX='^(tests/tcg|tests/multiboot|tests/fp|tests/plugin|tests/uefi-test-tools|pc-bios|subprojects|contrib/plugins|tools/ebpf|ebpf/rss.bpf.skeleton.h|linux-user/(mips64|x86_64)/(cpu_loop|signal).c)'
|
||||
|
||||
while true
|
||||
do
|
||||
@@ -83,15 +81,33 @@ if [ "$1" = "--all" ]; then
|
||||
set -- '.'
|
||||
fi
|
||||
|
||||
# We assume there are no files in the tree with spaces in their name
|
||||
set -- $(git ls-files "$@" | grep '\.[ch]$' | grep -E -v "$XDIRREGEX")
|
||||
|
||||
# Annoyingly coccinelle won't read a scriptfile unless its
|
||||
# name ends '.cocci', so write it out to a tempfile with the
|
||||
# right kind of name.
|
||||
COCCIFILE="$(mktemp --suffix=.cocci)"
|
||||
REGEXFILE="$(mktemp --suffix=.regex)"
|
||||
|
||||
trap 'rm -f -- "$COCCIFILE"' INT TERM HUP EXIT
|
||||
trap 'rm -f -- "$COCCIFILE" "$REGEXFILE"' INT TERM HUP EXIT
|
||||
|
||||
# List of extended regular expressions defining files to ignore
|
||||
# Comments starting with '#' are permitted
|
||||
grep -v '^#' >"$REGEXFILE" <<EOT
|
||||
# These tests are generally standalone binaries
|
||||
^tests/(tcg|multiboot|fp|plugin|uefi-test-tools)
|
||||
# BIOS sources and third-party subprojects don't follow our rules
|
||||
^pc-bios
|
||||
^subprojects
|
||||
# plugin binaries are standalone
|
||||
^contrib/plugins
|
||||
# the ebpf tool is standalone, and the skeleton header is autogenerated
|
||||
^tools/ebpf
|
||||
^ebpf/rss.bpf.skeleton.h
|
||||
# These files just include some other .c file and have no content themselves
|
||||
^linux-user/(mips64|x86_64)/(cpu_loop|signal).c
|
||||
EOT
|
||||
|
||||
# We assume there are no files in the tree with spaces in their name
|
||||
set -- $(git ls-files "$@" | grep '\.[ch]$' | grep -E -v -f "$REGEXFILE")
|
||||
|
||||
cat >"$COCCIFILE" <<EOT
|
||||
@@
|
||||
|
||||
Reference in New Issue
Block a user