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

Unified Diff: sdk/lib/_internal/pub_generated/lib/src/barback/asset_environment.dart

Issue 597773003: Have barback lazily load assets from static pub packages. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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: sdk/lib/_internal/pub_generated/lib/src/barback/asset_environment.dart
diff --git a/sdk/lib/_internal/pub_generated/lib/src/barback/asset_environment.dart b/sdk/lib/_internal/pub_generated/lib/src/barback/asset_environment.dart
index 666cfa79286ab91716ca2d58166f278afaeafa85..c91963cb00444bd3049161cf0d953d8feee1abbb 100644
--- a/sdk/lib/_internal/pub_generated/lib/src/barback/asset_environment.dart
+++ b/sdk/lib/_internal/pub_generated/lib/src/barback/asset_environment.dart
@@ -347,11 +347,7 @@ class AssetEnvironment {
log.fine(error.stackTrace.terse);
});
return _withStreamErrors(() {
- return log.progress("Loading source assets", () {
- barback.updateSources(pubSources);
- barback.updateSources(sdkSources);
- return _provideSources();
- });
+ return log.progress("Loading source assets", _provideSources);
}, [errorStream, barback.results]);
}).then((_) {
log.fine("Provided sources.");
@@ -381,9 +377,50 @@ class AssetEnvironment {
}, fine: true);
}
Future _provideSources() {
- return Future.wait(graph.packages.values.map((package) {
- return _provideDirectorySources(package, "lib");
- }));
+ final completer0 = new Completer();
+ scheduleMicrotask(() {
+ try {
+ Future.wait(graph.packages.values.map(((package) {
+ final completer0 = new Completer();
+ scheduleMicrotask(() {
+ try {
+ join0() {
+ _provideDirectorySources(package, "lib").then((x0) {
+ try {
+ x0;
+ completer0.complete(null);
+ } catch (e0) {
+ completer0.completeError(e0);
+ }
+ }, onError: (e1) {
+ completer0.completeError(e1);
+ });
+ }
+ if (graph.isPackageStatic(package.name)) {
+ completer0.complete(null);
+ } else {
+ join0();
+ }
+ } catch (e2) {
+ completer0.completeError(e2);
+ }
+ });
+ return completer0.future;
+ }))).then((x0) {
+ try {
+ x0;
+ completer0.complete(null);
+ } catch (e0) {
+ completer0.completeError(e0);
+ }
+ }, onError: (e1) {
+ completer0.completeError(e1);
+ });
+ } catch (e2) {
+ completer0.completeError(e2);
+ }
+ });
+ return completer0.future;
}
Future<StreamSubscription<WatchEvent>>
_provideDirectorySources(Package package, String dir) {

Powered by Google App Engine
This is Rietveld 408576698