ddnet/scripts/check_unused_header_files.py
Robert Müller db17539652 Rewrite unused header style check shell script in Python
As the shell script is pretty slow, taking roughly 84 seconds in the CI, whereas the equivalent Python script takes only 1 second.
2023-10-14 15:21:28 +02:00

37 lines
844 B
Python
Executable file

#!/usr/bin/env python3
import os
import sys
def find_unused_header_files(directory):
header_files = set()
used_files = set()
for root, _, files in os.walk(directory):
for file in files:
if file.endswith('.h'):
header_files.add(file)
for root, _, files in os.walk(directory):
for file in files:
with open(os.path.join(root, file), 'r', encoding="utf-8") as f:
content = f.read()
for header in header_files:
if header in content:
used_files.add(header)
return header_files - used_files
def main():
directory = 'src'
unused_header_files = find_unused_header_files(directory)
if unused_header_files:
for file in unused_header_files:
print(f"Error: Header file '{file}' is unused.")
return 1
print("Success: No header files are unused.")
return 0
if __name__ == "__main__":
sys.exit(main())