ddnet/scripts/check_unused_header_files.py

37 lines
844 B
Python
Raw Normal View History

#!/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())