ProjectProcessRunner typedef

ProjectProcessRunner = Future<BoundedRunResult> Function(String executable, List<String> arguments, {ProcessRunCancellation? cancellation, Map<String, String>? environment, required Duration timeout, String? workingDirectory})

Runs a bounded process for a declared project command.

The default implementation is oka's bounded run: the deadline stops the discovered process tree instead of abandoning the child, and the outcome carries the exit code, the captured output and the teardown receipt.

A cancellation is the same stop, requested before the deadline: the run owns exactly one identity-gated tree stop, and the outcome reports the cancellation cause with the teardown verification the deadline reports.

Implementation

typedef ProjectProcessRunner = Future<BoundedRunResult> Function(
  String executable,
  List<String> arguments, {
  required Duration timeout,
  String? workingDirectory,
  Map<String, String>? environment,
  ProcessRunCancellation? cancellation,
});