(self)
| 455 | super().__init__(config) |
| 456 | |
| 457 | def run(self): |
| 458 | logging.info("MLLM CLI Build Task Start...") |
| 459 | |
| 460 | build_dir = self.config.get("build_dir", "build") |
| 461 | cli_root = self.config.get("cli_root", "mllm-cli") |
| 462 | |
| 463 | build_path = PROJECT_ROOT_PATH / build_dir |
| 464 | build_path.mkdir(parents=True, exist_ok=True) |
| 465 | logging.info(f"Build directory: {build_path}") |
| 466 | |
| 467 | go_build_cmd = [ |
| 468 | "go", |
| 469 | "build", |
| 470 | "-o", |
| 471 | build_path.as_posix(), |
| 472 | ] |
| 473 | |
| 474 | go_build_args = self.config.get("go_build_args", []) |
| 475 | if go_build_args: |
| 476 | go_build_cmd.extend(go_build_args) |
| 477 | |
| 478 | work_dir = PROJECT_ROOT_PATH / cli_root |
| 479 | |
| 480 | logging.info(f"Working directory: {work_dir}") |
| 481 | logging.info(f"Command: {' '.join(go_build_cmd)}") |
| 482 | |
| 483 | original_cwd = os.getcwd() |
| 484 | try: |
| 485 | os.chdir(work_dir) |
| 486 | throw_error_if_failed(os.system(self.make_command_str(go_build_cmd))) |
| 487 | finally: |
| 488 | os.chdir(original_cwd) |
| 489 | |
| 490 | sdk_lib_src = PROJECT_ROOT_PATH / cli_root / "mllm" / "SDK" / "lib" |
| 491 | sdk_lib_dest = build_path / "lib" |
| 492 | |
| 493 | if sdk_lib_src.exists(): |
| 494 | logging.info(f"Copying SDK lib from {sdk_lib_src} to {sdk_lib_dest}") |
| 495 | if sdk_lib_dest.exists(): |
| 496 | shutil.rmtree(sdk_lib_dest) |
| 497 | shutil.copytree(sdk_lib_src, sdk_lib_dest) |
| 498 | else: |
| 499 | logging.warning(f"SDK lib directory not found: {sdk_lib_src}") |
| 500 | |
| 501 | sdk_include_src = PROJECT_ROOT_PATH / cli_root / "mllm" / "SDK" / "include" |
| 502 | sdk_include_dest = build_path / "include" |
| 503 | |
| 504 | if sdk_include_src.exists(): |
| 505 | logging.info( |
| 506 | f"Copying SDK include from {sdk_include_src} to {sdk_include_dest}" |
| 507 | ) |
| 508 | if sdk_include_dest.exists(): |
| 509 | shutil.rmtree(sdk_include_dest) |
| 510 | shutil.copytree(sdk_include_src, sdk_include_dest) |
| 511 | else: |
| 512 | logging.warning(f"SDK include directory not found: {sdk_include_src}") |
| 513 | |
| 514 | logging.info("MLLM CLI Build Task Completed") |
nothing calls this directly
no test coverage detected