xref: /aosp_15_r20/external/bazelbuild-rules_python/sphinxdocs/private/readthedocs_install.py (revision 60517a1edbc8ecf509223e9af94a7adec7d736b8)
1import os
2import pathlib
3import shutil
4import sys
5
6from python import runfiles
7
8
9def main(args):
10    if not args:
11        raise ValueError("Empty args: expected paths to copy")
12
13    if not (install_to := os.environ.get("READTHEDOCS_OUTPUT")):
14        raise ValueError("READTHEDOCS_OUTPUT environment variable not set")
15
16    install_to = pathlib.Path(install_to)
17
18    rf = runfiles.Create()
19    for doc_dir_runfiles_path in args:
20        doc_dir_path = pathlib.Path(rf.Rlocation(doc_dir_runfiles_path))
21        dest = install_to / doc_dir_path.name
22        print(f"Copying {doc_dir_path} to {dest}")
23        shutil.copytree(src=doc_dir_path, dst=dest, dirs_exist_ok=True)
24
25
26if __name__ == "__main__":
27    sys.exit(main(sys.argv[1:]))
28