import logging
import os
import pathlib
import subprocess
_BAD_FILES = [
"third_party/swiftshader/tests/VulkanUnitTests/BUILD.gn",
]
def is_bad_gn_file(filepath: str, root: pathlib.Path) -> bool:
relpath = os.path.relpath(filepath, root)
for bad_filepath in _BAD_FILES:
if relpath == bad_filepath:
logging.info(f'Skipping {relpath}: found in _BAD_FILES list.')
return True
if not os.access(filepath, os.R_OK | os.W_OK):
logging.info(f'Skipping {relpath}: Cannot read and write to it.')
return True
return False
def is_git_ignored(root: pathlib.Path, filepath: str) -> bool:
exit_code = subprocess.run(['git', 'check-ignore', '-q', filepath],
cwd=root).returncode
return exit_code == 0