diff --git a/.travis.yml b/.travis.yml index 5f905108d2..fc11dda354 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,6 +40,7 @@ script: - export SERENITY_ROOT="$(pwd)" - Meta/lint-shell-scripts.sh - Meta/lint-executable-resources.sh +- Meta/lint-ipc-ids.sh - Meta/check-style.sh - cd Toolchain - TRY_USE_LOCAL_TOOLCHAIN=y ./BuildIt.sh diff --git a/Meta/lint-ipc-ids.sh b/Meta/lint-ipc-ids.sh new file mode 100755 index 0000000000..78ffdedb4f --- /dev/null +++ b/Meta/lint-ipc-ids.sh @@ -0,0 +1,18 @@ +#!/bin/sh +set -e pipefail + +script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) +cd "$script_path/.." + +ALL_ENDPOINTS=$(find \( -name Toolchain -o -name Build -o -name .git -o -name Ports \) -prune -o -name '*.ipc' -print0 | xargs -0 grep -P '^endpoint ' | sort -k4 -n) + +BAD_ENDPOINTS=$(echo "${ALL_ENDPOINTS}" | cut -d' ' -f4 | uniq -d) + +if [ -n "${BAD_ENDPOINTS}" ] +then + echo "This is the full list of all endpoints:" + echo "${ALL_ENDPOINTS}" + echo "These endpoint IDs are duplicated:" + echo "${BAD_ENDPOINTS}" + exit 1 +fi