Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

self_build.py 1011B

před 5 roky
před 5 roky
před 5 roky
před 5 roky
před 5 roky
před 5 roky
1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env python3
  2. import argparse
  3. from pathlib import Path
  4. from typing import List, NamedTuple
  5. import shutil
  6. import subprocess
  7. import sys
  8. from dds_ci import cli, proc
  9. ROOT = Path(__file__).parent.parent.absolute()
  10. def self_build(exe: Path, *, toolchain: str, lmi_path: Path = None):
  11. # Copy the exe to another location, as windows refuses to let a binary be
  12. # replaced while it is executing
  13. new_exe = ROOT / '_dds.bootstrap-test.exe'
  14. shutil.copy2(exe, new_exe)
  15. try:
  16. proc.check_run(
  17. new_exe,
  18. 'build',
  19. '--full',
  20. ('--toolchain', toolchain),
  21. ('-I', lmi_path) if lmi_path else (),
  22. )
  23. finally:
  24. new_exe.unlink()
  25. def main(argv: List[str]) -> int:
  26. parser = argparse.ArgumentParser()
  27. cli.add_tc_arg(parser)
  28. cli.add_dds_exe_arg(parser)
  29. args = parser.parse_args(argv)
  30. self_build(Path(args.exe), args.toolchain)
  31. return 0
  32. if __name__ == "__main__":
  33. sys.exit(main(sys.argv[1:]))