BatchRunner class

Runs BuildJobs as separate udara_cli build worker processes, up to parallel at a time. With workspaces each job runs in its own synced copy of the project, so jobs can't overwrite each other's files; without them (parallel = 1) jobs run one after another in the project itself.

Constructors

BatchRunner({required String projectDir, required ProgressTracker tracker, required ProgressView view, required WorkerArgs workerArgs, required bool useWorkspaces, bool failFast = false, String? progressFile})

Properties

cancelled → bool
True when the run was stopped by Ctrl+C or a termination signal.
no setter
failFast → bool
final
hashCode → int
The hash code for this object.
no setterinherited
logsDir → String
no setter
progressFile → String?
final
projectDir → String
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
stopped → bool
no setter
tracker → ProgressTracker
final
useWorkspaces → bool
final
view → ProgressView
final
workerArgs → WorkerArgs
final
workspaces → WorkspaceManager
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run() → Future<List<TargetResult>>
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

autoParallel() → int
A conservative default: one build per ~8 GB of RAM and per 4 CPU cores, between 1 and 4.
killTree(int rootPid, {bool includeRoot = true}) → void
Stops a worker and everything it started (flutter, Gradle, xcodebuild), children first so none are orphaned.
selfCommand() → List<String>
The command that re-runs this CLI: the compiled executable itself, or the Dart VM with this script/snapshot (pub global activate, dart run).
tail(String path, {int lines = 15}) → List<String>
The part of a worker log that explains a failure: the lines leading up to the first error, or to the cleanup that follows it.