()
| 1507 | |
| 1508 | |
| 1509 | def main() -> int: |
| 1510 | args = parse_args() |
| 1511 | registries = load_registries(args.reference_registry, args.database_registry) |
| 1512 | if args.command == "list": |
| 1513 | print(json.dumps(list_bundles(registries), indent=2, sort_keys=True)) |
| 1514 | return 0 |
| 1515 | if args.command == "check": |
| 1516 | result = check_named_bundle( |
| 1517 | args.bundle, |
| 1518 | kind=args.kind, |
| 1519 | root=args.root, |
| 1520 | include_checksums=args.include_checksums, |
| 1521 | registries=registries, |
| 1522 | ) |
| 1523 | if args.output: |
| 1524 | write_json(args.output, result) |
| 1525 | print(json.dumps(result, indent=2, sort_keys=True)) |
| 1526 | return 0 if result.get("ok") else 1 |
| 1527 | if args.command == "explain-missing": |
| 1528 | result = check_named_bundle( |
| 1529 | args.bundle, kind=args.kind, root=args.root, registries=registries |
| 1530 | ) |
| 1531 | print(explain_missing(result), end="") |
| 1532 | return 0 if result.get("ok") else 1 |
| 1533 | if args.command == "plan": |
| 1534 | result = plan_pipeline_resources( |
| 1535 | args.pipeline, |
| 1536 | genome_build=args.genome_build, |
| 1537 | bundle_roots=parse_bundle_roots(args.bundle_root), |
| 1538 | include_optional=args.include_optional, |
| 1539 | include_checksums=args.include_checksums, |
| 1540 | registries=registries, |
| 1541 | ) |
| 1542 | if args.outdir: |
| 1543 | result["outputs"] = write_resource_plan_outputs( |
| 1544 | result, args.outdir.expanduser().resolve() |
| 1545 | ) |
| 1546 | print(json.dumps(result, indent=2, sort_keys=True)) |
| 1547 | return 0 if result.get("ok") else 1 |
| 1548 | if args.command == "setup-plan": |
| 1549 | resource_plan = plan_pipeline_resources( |
| 1550 | args.pipeline, |
| 1551 | genome_build=args.genome_build, |
| 1552 | bundle_roots=parse_bundle_roots(args.bundle_root), |
| 1553 | include_optional=args.include_optional, |
| 1554 | include_checksums=args.include_checksums, |
| 1555 | registries=registries, |
| 1556 | ) |
| 1557 | result = setup_plan_from_resource_plan(resource_plan, include_ready=args.include_ready) |
| 1558 | result["resource_plan"] = resource_plan |
| 1559 | result["outputs"] = write_resource_setup_plan_outputs( |
| 1560 | result, args.outdir.expanduser().resolve() |
| 1561 | ) |
| 1562 | print(json.dumps(result, indent=2, sort_keys=True)) |
| 1563 | return 1 if args.fail_on_blocking and result.get("blocking_count") else 0 |
| 1564 | if args.command == "check-all": |
| 1565 | result = check_all_bundles( |
| 1566 | kind=args.kind, |
no test coverage detected