"""nova resolve — resolve a contract YAML to a Target Stack JSON.""" from __future__ import annotations import json from core.contract_resolver import resolve from core import env def add_parser(subparsers): p = subparsers.add_parser("resolve", help="resolve a contract.yml to stack JSON") p.add_argument("contract") p.add_argument("out") p.add_argument("--environment", default=None) p.set_defaults(_run=run) def run(args) -> int: env_override = args.environment or env.get_env("ENVIRONMENT_OVERRIDE") result = resolve(args.contract, environment_override=env_override) with open(args.out, "w") as fh: json.dump(result, fh, indent=2) print(f"resolve: wrote {args.out}") return 0 if __name__ == "__main__": import sys print("use: nova resolve ", file=sys.stderr)