Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

self_build.py 1.1KB

il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python3
  2. import argparse
  3. from pathlib import Path
  4. from typing import List, NamedTuple, Iterable
  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,
  11. *,
  12. toolchain: str,
  13. lmi_path: Path = None,
  14. dds_flags: Iterable[str] = ()):
  15. # Copy the exe to another location, as windows refuses to let a binary be
  16. # replaced while it is executing
  17. new_exe = ROOT / '_dds.bootstrap-test.exe'
  18. shutil.copy2(exe, new_exe)
  19. try:
  20. proc.check_run(
  21. new_exe,
  22. 'build',
  23. dds_flags,
  24. ('--toolchain', toolchain),
  25. ('-I', lmi_path) if lmi_path else (),
  26. )
  27. finally:
  28. new_exe.unlink()
  29. def main(argv: List[str]) -> int:
  30. parser = argparse.ArgumentParser()
  31. cli.add_tc_arg(parser)
  32. cli.add_dds_exe_arg(parser)
  33. args = parser.parse_args(argv)
  34. self_build(Path(args.exe), toolchain=args.toolchain, dds_flags=['--full'])
  35. return 0
  36. if __name__ == "__main__":
  37. sys.exit(main(sys.argv[1:]))