v3: gstack-code-gen 生成
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import argparse, sys
|
||||
from config import Config
|
||||
from orchestrator import run_pipeline
|
||||
|
||||
|
||||
def main():
|
||||
p = argparse.ArgumentParser(description="COBOL->Java/Spark Migration Verification")
|
||||
p.add_argument("--copybook", required=True)
|
||||
p.add_argument("--cobol-src", required=True)
|
||||
p.add_argument("--java-src", required=True)
|
||||
p.add_argument("--mapping", required=True)
|
||||
p.add_argument("--runner", choices=["native", "spark"], default="native")
|
||||
p.add_argument("--coverage", choices=["boundary", "branch"], default="boundary")
|
||||
p.add_argument("--tolerance", type=float, default=0.01)
|
||||
p.add_argument("--verbose", action="store_true")
|
||||
p.add_argument("--dry-run", action="store_true")
|
||||
p.add_argument("--output-dir", default="./reports")
|
||||
args = p.parse_args()
|
||||
|
||||
if args.dry_run:
|
||||
from pathlib import Path
|
||||
issues = []
|
||||
for lb, pt in [("copybook", args.copybook), ("cobol-src", args.cobol_src), ("mapping", args.mapping)]:
|
||||
if not Path(pt).exists():
|
||||
issues.append(f" {lb}: {pt} (not found)")
|
||||
if not Path(f"{args.java_src}/pom.xml").exists():
|
||||
issues.append(f" java-src: {args.java_src}/pom.xml (not found)")
|
||||
if issues:
|
||||
print("DRY-RUN issues:\n" + "\n".join(issues))
|
||||
sys.exit(2)
|
||||
print("DRY-RUN: all inputs OK")
|
||||
sys.exit(0)
|
||||
|
||||
c = Config()
|
||||
c.runner_mode = args.runner
|
||||
c.coverage_default = args.coverage
|
||||
c.tolerance = args.tolerance
|
||||
vr = run_pipeline(c, args.copybook, args.cobol_src, args.java_src, args.mapping)
|
||||
t = vr.fields_matched + vr.fields_mismatched
|
||||
print(f"{vr.program}: {vr.status} ({vr.fields_matched}/{t}, {vr.duration_s:.0f}s)" if t else f"{vr.program}: {vr.status}")
|
||||
sys.exit(vr.exit_code)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user