Files
sunnypilot/release/release_files.py
T
Jason Wen e36dbe97b5 Merge branch 'master' into SP-147-sync-priv-2024
# Conflicts:
#	common/api/__init__.py
#	panda
#	release/build_release.sh
#	release/files_common
#	selfdrive/car/card.py
#	selfdrive/car/toyota/carcontroller.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/radard.py
#	selfdrive/ui/qt/api.cc
#	selfdrive/ui/qt/maps/map.cc
#	selfdrive/ui/ui.cc
#	system/athena/manage_athenad.py
#	system/athena/manage_sunnylinkd.py
#	system/athena/sunnylinkd.py
#	system/manager/gitlab_runner.sh
#	system/manager/manager.py
#	system/manager/mapd_installer.py
#	system/manager/process_config.py
#	system/manager/sunnylink.py
#	system/sentry.py
2024-06-10 21:24:23 -04:00

82 lines
1.9 KiB
Python
Executable File

#!/usr/bin/env python3
import os
import re
from pathlib import Path
HERE = os.path.abspath(os.path.dirname(__file__))
ROOT = HERE + "/.."
# blacklisting is for two purposes:
# - minimizing release download size
# - keeping the diff readable
blacklist = [
"^scripts/",
"body/STL/",
"tools/cabana/",
"panda/examples/",
"opendbc/generator/",
"^tools/",
"^tinygrad_repo/",
"matlab.*.md",
".git$", # for submodules
".git/",
".github/",
".devcontainer/",
"Darwin/",
".vscode/",
# no LFS
".lfsconfig",
".gitattributes",
]
# Sunnypilot blacklist
sunnypilot_blacklist = [
".idea/",
".run/",
]
# Merge the blacklists
blacklist += sunnypilot_blacklist
# gets you through the blacklist
whitelist = [
"^tools/lib/(?!.*__pycache__).*$",
"tools/bodyteleop/",
"tinygrad_repo/openpilot/compile2.py",
"tinygrad_repo/extra/onnx.py",
"tinygrad_repo/extra/onnx_ops.py",
"tinygrad_repo/extra/thneed.py",
"tinygrad_repo/extra/utils.py",
"tinygrad_repo/tinygrad/codegen/kernel.py",
"tinygrad_repo/tinygrad/codegen/linearizer.py",
"tinygrad_repo/tinygrad/features/image.py",
"tinygrad_repo/tinygrad/features/search.py",
"tinygrad_repo/tinygrad/nn/*",
"tinygrad_repo/tinygrad/renderer/cstyle.py",
"tinygrad_repo/tinygrad/renderer/opencl.py",
"tinygrad_repo/tinygrad/runtime/lib.py",
"tinygrad_repo/tinygrad/runtime/ops_cpu.py",
"tinygrad_repo/tinygrad/runtime/ops_disk.py",
"tinygrad_repo/tinygrad/runtime/ops_gpu.py",
"tinygrad_repo/tinygrad/shape/*",
"tinygrad_repo/tinygrad/.*.py",
]
if __name__ == "__main__":
for f in Path(ROOT).rglob("**/*"):
if not (f.is_file() or f.is_symlink()):
continue
rf = str(f.relative_to(ROOT))
blacklisted = any(re.search(p, rf) for p in blacklist)
whitelisted = any(re.search(p, rf) for p in whitelist)
if blacklisted and not whitelisted:
continue
print(rf)