diff --git a/src/capability-language/workspace-cli.ts b/src/capability-language/workspace-cli.ts index bad41ce..11b36b0 100644 --- a/src/capability-language/workspace-cli.ts +++ b/src/capability-language/workspace-cli.ts @@ -17,7 +17,7 @@ import { } from "../capability-model/index.js"; const usage = `usage: quixos-workspace-compile --root DIRECTORY --checkout-root DIRECTORY - [--snapshot-map PATH] [--graph-out PATH] [--workspace-id ID] [--workspace-revision-id ID] + [--snapshot-map PATH] [--graph-out PATH] [--plan-out PATH] [--workspace-id ID] [--workspace-revision-id ID] [--source-root-commit GIT_REV] [--baseline PLAN_JSON] [--evolution-out PATH] [--reviews REVIEW_JSON] [--schemas-out PATH] [--execution-plan-out PATH] [--build-contexts-out PATH] [--query-generator BUILD_MODULE_PATH] [--checked-resources NIX_MAP] @@ -41,6 +41,7 @@ const parseArgs = (args: string[]) => { rootDirectory, checkoutRoot, graphOut: values.get("--graph-out"), + planOut: values.get("--plan-out"), schemasOut: values.get("--schemas-out"), executionPlanOut: values.get("--execution-plan-out"), buildContextsOut: values.get("--build-contexts-out"), @@ -158,7 +159,8 @@ const main = async () => { `${JSON.stringify(planEvolution(baseline, candidate, { reviews }), null, 2)}\n`, ); } - process.stdout.write(`${JSON.stringify(candidate, null, 2)}\n`); + if (options.planOut) await writeFile(options.planOut, `${JSON.stringify(candidate)}\n`); + else process.stdout.write(`${JSON.stringify(candidate, null, 2)}\n`); }; main().catch((error: unknown) => {