summaryrefslogtreecommitdiffstats
path: root/tools/check-for-duplicate-includes.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/check-for-duplicate-includes.sh')
-rwxr-xr-xtools/check-for-duplicate-includes.sh12
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/check-for-duplicate-includes.sh b/tools/check-for-duplicate-includes.sh
index 67a2c59542..05e6c7cc7b 100755
--- a/tools/check-for-duplicate-includes.sh
+++ b/tools/check-for-duplicate-includes.sh
@@ -50,16 +50,17 @@ while test ${#} -gt 0; do
esac; shift
done
-# Get source files that have duplicate '#include' lines.
+# Get the source files that have at least one '#include' line minus the
+# generated files.
get_source_files() {
- mandatory_commands cut find grep sed sort uniq
+ mandatory_commands cut find grep sed sort
- # Get the files that have duplicate includes.
+ # Get the files that have at least one include line.
source_files=$(cd "${root_path}" && find . -type f | grep -Fv '.git' | \
grep -E '\.cc$|\.h$' | xargs grep -El '#include' | \
cut -d ':' -f 1 | sort -uV)
- # Filter out generated files.
+ # Filter out the generated files.
for file in ${filtered_out}; do
source_files=$(printf '%s\n' "${source_files}" | grep -Fv "${file}" | sed '/^$/d')
done
@@ -102,8 +103,9 @@ root_path=$(cd "$(dirname "${0}")/.." && pwd)
# Generated files will be filtered out. Hardcoded list
filtered_out=$(cat "${root_path}/tools/.generated-files.txt")
+# Exceptions:
# src/lib/asiolink/asio_wrapper.h includes <boost/asio.hpp> in both
-# conditionals of an #ifdef. Make an exception for it.
+# conditionals of an #ifdef.
filtered_out="${filtered_out}
src/lib/asiolink/asio_wrapper.h
"