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

Unified Diff: sdk/lib/_internal/pub/asset/dart/transformer_isolate.dart

Issue 198053009: Use real "package:" imports in pub's plugin-loading code. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code review Created 6 years, 9 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
« no previous file with comments | « no previous file | sdk/lib/_internal/pub/lib/src/barback/build_environment.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/_internal/pub/asset/dart/transformer_isolate.dart
diff --git a/sdk/lib/_internal/pub/asset/dart/transformer_isolate.dart b/sdk/lib/_internal/pub/asset/dart/transformer_isolate.dart
index ad2c448a4bdd2ad012730f93936ac29d7e271e57..e21c6ffc3bcbce81cac1cd530366b1384e5b957e 100644
--- a/sdk/lib/_internal/pub/asset/dart/transformer_isolate.dart
+++ b/sdk/lib/_internal/pub/asset/dart/transformer_isolate.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.
-// Note: this explicitly avoids using a library tag because pub will add
-// additional imports at the top of the file.
+library pub.transformer_isolate;
import 'dart:async';
import 'dart:isolate';
import 'dart:convert';
import 'dart:mirrors';
-import '<<URL_BASE>>/packages/source_maps/span.dart';
-import '<<URL_BASE>>/packages/stack_trace/stack_trace.dart';
-import '<<URL_BASE>>/packages/barback/barback.dart';
+import 'package:source_maps/span.dart';
+import 'package:stack_trace/stack_trace.dart';
+import 'package:barback/barback.dart';
// TODO(nweiz): don't import from "src" once issue 14966 is fixed.
-import '<<URL_BASE>>/packages/barback/src/internal_asset.dart';
+import 'package:barback/src/internal_asset.dart';
/// Sets up the initial communication with the host isolate.
-void main(_, SendPort replyTo) {
+void loadTransformers(SendPort replyTo) {
var port = new ReceivePort();
replyTo.send(port.sendPort);
port.first.then((wrappedMessage) {
@@ -25,7 +24,7 @@ void main(_, SendPort replyTo) {
var library = Uri.parse(message['library']);
var configuration = JSON.decode(message['configuration']);
var mode = new BarbackMode(message['mode']);
- return initialize(library, configuration, mode).
+ return _initialize(library, configuration, mode).
map(_serializeTransformerOrGroup).toList();
});
});
@@ -35,7 +34,7 @@ void main(_, SendPort replyTo) {
///
/// Loads the library, finds any Transformer or TransformerGroup subclasses in
/// it, instantiates them with [configuration] and [mode], and returns them.
-Iterable initialize(Uri uri, Map configuration, BarbackMode mode) {
+Iterable _initialize(Uri uri, Map configuration, BarbackMode mode) {
var mirrors = currentMirrorSystem();
var transformerClass = reflectClass(Transformer);
var groupClass = reflectClass(TransformerGroup);
@@ -109,12 +108,23 @@ class ForeignTransform implements Transform {
Stream<List<int>> readInput(AssetId id) =>
_futureStream(getInput(id).then((input) => input.read()));
+ Future<bool> hasInput(AssetId id) {
+ return getInput(id).then((_) => true).catchError((error) {
+ if (error is AssetNotFoundException && error.id == id) return false;
+ throw error;
+ });
+ }
+
void addOutput(Asset output) {
_call(_port, {
'type': 'addOutput',
'output': serializeAsset(output)
});
}
+
+ void consumePrimary() {
+ _call(_port, {'type': 'consumePrimary'});
+ }
}
/// Returns the mirror for the root Object type.
« no previous file with comments | « no previous file | sdk/lib/_internal/pub/lib/src/barback/build_environment.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698