Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: third_party/pkg/barback-0.13.0/lib/src/package_graph.dart

Issue 291843011: Run pub tests against older versions of barback. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code review Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/pkg/barback-0.13.0/lib/src/package_graph.dart
diff --git a/pkg/barback/lib/src/graph/package_graph.dart b/third_party/pkg/barback-0.13.0/lib/src/package_graph.dart
similarity index 92%
copy from pkg/barback/lib/src/graph/package_graph.dart
copy to third_party/pkg/barback-0.13.0/lib/src/package_graph.dart
index 8cd47157d15142cec615679a250aafc516e804d4..c503c601c5c774a3448aa28904dc22ed3fbb40ec 100644
--- a/pkg/barback/lib/src/graph/package_graph.dart
+++ b/third_party/pkg/barback-0.13.0/lib/src/package_graph.dart
@@ -2,22 +2,21 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-library barback.graph.package_graph;
+library barback.package_graph;
import 'dart:async';
import 'dart:collection';
-import '../asset/asset_id.dart';
-import '../asset/asset_node.dart';
-import '../asset/asset_set.dart';
-import '../build_result.dart';
-import '../errors.dart';
-import '../log.dart';
-import '../package_provider.dart';
-import '../transformer/transformer.dart';
-import '../utils.dart';
import 'asset_cascade.dart';
-import 'node_status.dart';
+import 'asset_id.dart';
+import 'asset_node.dart';
+import 'asset_set.dart';
+import 'build_result.dart';
+import 'errors.dart';
+import 'log.dart';
+import 'package_provider.dart';
+import 'transformer.dart';
+import 'utils.dart';
/// The collection of [AssetCascade]s for an entire application.
///
@@ -56,9 +55,8 @@ class PackageGraph {
Stream<LogEntry> get log => _logController.stream;
final _logController = new StreamController<LogEntry>.broadcast(sync: true);
- /// How far along [this] is in processing its assets.
- NodeStatus get _status => NodeStatus.dirtiest(
- _cascades.values.map((cascade) => cascade.status));
+ /// Whether [this] is dirty and still has more processing to do.
+ bool get _isDirty => _cascades.values.any((cascade) => cascade.isDirty);
/// Whether a [BuildResult] is scheduled to be emitted on [results] (see
/// [_tryScheduleResult]).
@@ -91,9 +89,7 @@ class PackageGraph {
var cascade = new AssetCascade(this, package);
_cascades[package] = cascade;
cascade.onLog.listen(_onLog);
- cascade.onStatusChange.listen((status) {
- if (status == NodeStatus.IDLE) _tryScheduleResult();
- });
+ cascade.onDone.listen((_) => _tryScheduleResult());
}
_errors = mergeStreams(_cascades.values.map((cascade) => cascade.errors),
@@ -130,7 +126,7 @@ class PackageGraph {
_inErrorZone(() => cascade.forceAllTransforms());
}
- if (_status != NodeStatus.IDLE) {
+ if (_isDirty) {
// A build is still ongoing, so wait for it to complete and try again.
return results.first.then((_) => getAllAssets());
}
@@ -226,13 +222,13 @@ class PackageGraph {
/// [BuildResult]) to ensure that calling multiple functions synchronously
/// produces only a single [BuildResult].
void _tryScheduleResult() {
- if (_status != NodeStatus.IDLE) return;
+ if (_isDirty) return;
if (_resultScheduled) return;
_resultScheduled = true;
newFuture(() {
_resultScheduled = false;
- if (_status != NodeStatus.IDLE) return;
+ if (_isDirty) return;
_lastResult = new BuildResult(_accumulatedErrors);
_accumulatedErrors.clear();
« no previous file with comments | « third_party/pkg/barback-0.13.0/lib/src/multiset.dart ('k') | third_party/pkg/barback-0.13.0/lib/src/package_provider.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698