import logging
import os
import pathlib
import sys
_TOOLS_ANDROID_PATH = pathlib.Path(__file__).resolve().parents[2]
if str(_TOOLS_ANDROID_PATH) not in sys.path:
sys.path.append(str(_TOOLS_ANDROID_PATH))
from python_utils import subprocess_utils
_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_utils.run_command(
['git', 'check-ignore', '-q', filepath], cwd=root, exitcode_only=True)
return exit_code == 0