From 495658d43c72d3a1496c8181bb1fcec84a76d66c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 5 May 2023 09:38:15 +0200 Subject: check-includes: print path relative to project root Instead of /home/zbyszek/src/systemd-work/build/../src/xdg-autostart-generator/xdg-autostart-service.h:11, print just src/xdg-autostart-generator/xdg-autostart-service.h:11. This is a bit annoying that this requires so much verbosity, but the output with the full names was too annoying. --- tools/check-includes.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tools') diff --git a/tools/check-includes.py b/tools/check-includes.py index 27d11b9d0a..abca2882f0 100755 --- a/tools/check-includes.py +++ b/tools/check-includes.py @@ -3,9 +3,13 @@ # pylint: disable=missing-docstring,invalid-name,unspecified-encoding,consider-using-with +import os +import pathlib import re import sys +PROJECT_ROOT = pathlib.Path(os.getenv('PROJECT_SOURCE_ROOT', '.')) + def check_file(filename): seen = set() good = True @@ -13,6 +17,10 @@ def check_file(filename): if m := re.match(r'^\s*#\s*include\s*[<"](\S*)[>"]', line): include = m.group(1) if include in seen: + try: + filename = pathlib.Path(filename).resolve().relative_to(PROJECT_ROOT) + except ValueError: + pass print(f'{filename}:{n}: {line.strip()}') good = False seen.add(include) -- cgit v1.2.1