OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library barback.phase; | 5 library barback.graph.phase; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
| 9 import '../asset/asset_id.dart'; |
| 10 import '../asset/asset_node.dart'; |
| 11 import '../asset/asset_node_set.dart'; |
| 12 import '../errors.dart'; |
| 13 import '../log.dart'; |
| 14 import '../transformer/transformer.dart'; |
| 15 import '../transformer/transformer_group.dart'; |
| 16 import '../utils.dart'; |
| 17 import '../utils/multiset.dart'; |
9 import 'asset_cascade.dart'; | 18 import 'asset_cascade.dart'; |
10 import 'asset_id.dart'; | |
11 import 'asset_node.dart'; | |
12 import 'asset_node_set.dart'; | |
13 import 'errors.dart'; | |
14 import 'group_runner.dart'; | 19 import 'group_runner.dart'; |
15 import 'log.dart'; | |
16 import 'multiset.dart'; | |
17 import 'node_status.dart'; | 20 import 'node_status.dart'; |
18 import 'node_streams.dart'; | 21 import 'node_streams.dart'; |
19 import 'phase_forwarder.dart'; | 22 import 'phase_forwarder.dart'; |
20 import 'phase_output.dart'; | 23 import 'phase_output.dart'; |
21 import 'transformer.dart'; | |
22 import 'transformer_classifier.dart'; | 24 import 'transformer_classifier.dart'; |
23 import 'transformer_group.dart'; | |
24 import 'utils.dart'; | |
25 | 25 |
26 /// One phase in the ordered series of transformations in an [AssetCascade]. | 26 /// One phase in the ordered series of transformations in an [AssetCascade]. |
27 /// | 27 /// |
28 /// Each phase can access outputs from previous phases and can in turn pass | 28 /// Each phase can access outputs from previous phases and can in turn pass |
29 /// outputs to later phases. Phases are processed strictly serially. All | 29 /// outputs to later phases. Phases are processed strictly serially. All |
30 /// transforms in a phase will be complete before moving on to the next phase. | 30 /// transforms in a phase will be complete before moving on to the next phase. |
31 /// Within a single phase, all transforms will be run in parallel. | 31 /// Within a single phase, all transforms will be run in parallel. |
32 /// | 32 /// |
33 /// Building can be interrupted between phases. For example, a source is added | 33 /// Building can be interrupted between phases. For example, a source is added |
34 /// which starts the background process. Sometime during, say, phase 2 (which | 34 /// which starts the background process. Sometime during, say, phase 2 (which |
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 assert(asset.state.isDirty); | 375 assert(asset.state.isDirty); |
376 asset.force(); | 376 asset.force(); |
377 asset.whenStateChanges().then((state) { | 377 asset.whenStateChanges().then((state) { |
378 if (state.isRemoved) return getOutput(asset.id); | 378 if (state.isRemoved) return getOutput(asset.id); |
379 return asset; | 379 return asset; |
380 }).then(request.complete).catchError(request.completeError); | 380 }).then(request.complete).catchError(request.completeError); |
381 } | 381 } |
382 | 382 |
383 String toString() => "phase $_location.$_index"; | 383 String toString() => "phase $_location.$_index"; |
384 } | 384 } |
OLD | NEW |