ApplyCommand constructor
ApplyCommand({
- PlanStore? planStore,
- DateTime clock()?,
- InputReader? inputReader,
- void out()?,
- void diagnostics()?,
- ProcessRunner? processRunner,
- AppliedHistoryStore? historyStore,
- ProjectValidator? validate,
- RecipeLockLoader? recipeLockLoader,
- ApplyObservationLoader? observationLoader,
- void releaseStaging()?,
- String? sessionLockBaseDir,
Implementation
ApplyCommand({
PlanStore? planStore,
DateTime Function()? clock,
InputReader? inputReader,
void Function(String)? out,
void Function(String)? diagnostics,
ProcessRunner? processRunner,
AppliedHistoryStore? historyStore,
ProjectValidator? validate,
RecipeLockLoader? recipeLockLoader,
this.observationLoader,
void Function(String)? releaseStaging,
this.sessionLockBaseDir,
}) : planStore = planStore ?? PlanStore(),
clock = clock ?? DateTime.now,
inputReader = inputReader ?? stdin.readLineSync,
out = out ?? stdout.writeln,
diagnostics = diagnostics ?? stderr.writeln,
processRunner = processRunner ?? const ProcessRunner(),
historyStore =
historyStore ??
AppliedHistoryStore(baseDir: (planStore ?? PlanStore()).baseDir),
validate =
validate ??
((root, commands) =>
validateProject(projectRoot: root, commands: commands)),
recipeLockLoader = recipeLockLoader ?? loadRecipeLock,
releaseStagingCallback = releaseStaging ?? _releaseStaging {
argParser
..addOption('approve', help: 'Plan ID explicitly approved for Apply.')
..addFlag('non-interactive', negatable: false)
..addOption('output', allowed: ['text', 'json']);
}