| Index: pkg/barback/lib/src/phase.dart
|
| diff --git a/pkg/barback/lib/src/phase.dart b/pkg/barback/lib/src/phase.dart
|
| index b83061bb96a1a200fd730319aef32d4c70375978..14d236a9b784264a795bd504e75c62680e335908 100644
|
| --- a/pkg/barback/lib/src/phase.dart
|
| +++ b/pkg/barback/lib/src/phase.dart
|
| @@ -273,19 +273,15 @@ class Phase {
|
| }
|
| }
|
|
|
| - var outputFutures = [];
|
| - outputFutures.addAll(_inputs.values.map((input) {
|
| - if (!input.isDirty) return new Future.value(new Set());
|
| - return input.process().then(_handleOutputs);
|
| - }));
|
| - outputFutures.addAll(_groups.values.map((input) {
|
| - if (!input.isDirty) return new Future.value(new Set());
|
| - return input.process().then(_handleOutputs);
|
| - }));
|
| + var outputs = new List.from(_inputs.values);
|
| + outputs.addAll(_groups.values);
|
|
|
| // TODO(nweiz): handle pass-through.
|
|
|
| - return Future.wait(outputFutures).then((_) {
|
| + return forEachPooledFuture(outputs, (input) {
|
| + if (!input.isDirty) return null;
|
| + return input.process().then(_handleOutputs);
|
| + }).then((_) {
|
| // Report collisions in a deterministic order.
|
| outputIds = outputIds.toList();
|
| outputIds.sort((a, b) => a.compareTo(b));
|
|
|