ProgressTracker class
Aggregates job progress into an overall percentage and ETA, renders it, and mirrors it to a JSON file that the IDE extensions poll.
Constructors
-
ProgressTracker({required List<
JobProgress> jobs, required int parallel, DateTime clock()?})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
jobs
→ List<
JobProgress> -
final
- now → DateTime
-
no setter
- parallel → int
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- startedAt ↔ DateTime
-
latefinal
- totalTargets → int
-
no setter
Methods
-
count(
JobState state) → int -
eta(
[DateTime? at]) → Duration - Simulates the remaining work on parallel slots: running jobs keep their slot, queued jobs start on whichever slot frees up first.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
percent(
[DateTime? at]) → double - Weighted by each job's estimate, so a 10 minute iOS build counts for more than a 5 minute APK.
-
percentLabel(
[DateTime? at]) → String - Whole-number percentage for display; only reads 100 when every job has actually finished.
-
toJson(
) → Map< String, dynamic> -
toString(
) → String -
A string representation of this object.
inherited
-
writeFile(
String path) → void - Writes atomically so readers never see a half-written file.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
readWorkerState(
String path) → ({String? step, int targetsDone})? - Reads the step and completed targets a worker process reported.