Files
allwpilib/upstream_utils/update_expected.py

46 lines
1.1 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
import os
import re
import shutil
from upstream_utils import (
get_repo_root,
clone_repo,
comment_out_invalid_includes,
walk_cwd_and_copy_if,
git_am,
)
def main():
upstream_root = clone_repo(
"https://github.com/TartanLlama/expected",
# master on 2024-01-25
"3f0ca7b19253129700a073abfa6d8638d9f7c80c",
shallow=False,
)
wpilib_root = get_repo_root()
wpiutil = os.path.join(wpilib_root, "wpiutil")
# Copy expected header into allwpilib
dest_filename = os.path.join(
wpiutil, "src/main/native/thirdparty/expected/include/wpi/expected"
)
shutil.copyfile(
os.path.join(upstream_root, "include/tl/expected.hpp"), dest_filename
)
# Rename namespace from tl to wpi
with open(dest_filename) as f:
content = f.read()
content = content.replace("namespace tl", "namespace wpi")
content = content.replace("tl::", "wpi::")
content = content.replace("TL_", "WPI_")
with open(dest_filename, "w") as f:
f.write(content)
if __name__ == "__main__":
main()