| Index: sdk/lib/_internal/pub/lib/src/command/serve.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/command/serve.dart b/sdk/lib/_internal/pub/lib/src/command/serve.dart
|
| index f99df217e9a575e587ba7f772b0d6c1f00267582..a03bdd9904d967b2992395de588b146178c9a413 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/command/serve.dart
|
| +++ b/sdk/lib/_internal/pub/lib/src/command/serve.dart
|
| @@ -8,12 +8,9 @@ import 'dart:async';
|
|
|
| import 'package:barback/barback.dart';
|
|
|
| -import '../barback/dart_forwarding_transformer.dart';
|
| -import '../barback/dart2js_transformer.dart';
|
| +import '../barback/build_environment.dart';
|
| import '../barback/pub_package_provider.dart';
|
| -import '../barback.dart' as barback;
|
| import '../command.dart';
|
| -import '../entrypoint.dart';
|
| import '../exit_codes.dart' as exit_codes;
|
| import '../io.dart';
|
| import '../log.dart' as log;
|
| @@ -65,34 +62,28 @@ class ServeCommand extends PubCommand {
|
| return flushThenExit(exit_codes.USAGE);
|
| }
|
|
|
| - return entrypoint.loadPackageGraph().then((graph) {
|
| - var builtInTransformers = [new DartForwardingTransformer(mode)];
|
| - if (useDart2JS) {
|
| - builtInTransformers.add(new Dart2JSTransformer(graph, mode));
|
| - // TODO(rnystrom): Add support for dart2dart transformer here.
|
| - }
|
| + var watcherType = commandOptions['force-poll'] ?
|
| + WatcherType.POLLING : WatcherType.AUTO;
|
| +
|
| + return BuildEnvironment.create(entrypoint, hostname, port, mode,
|
| + watcherType, ["web"].toSet(),
|
| + useDart2JS: useDart2JS).then((environment) {
|
|
|
| - var watcherType = commandOptions['force-poll'] ?
|
| - barback.WatcherType.POLLING : barback.WatcherType.AUTO;
|
| - return barback.createServer(hostname, port, graph, mode,
|
| - builtInTransformers: builtInTransformers,
|
| - watcher: watcherType);
|
| - }).then((server) {
|
| // In release mode, strip out .dart files since all relevant ones have
|
| // been compiled to JavaScript already.
|
| if (mode == BarbackMode.RELEASE) {
|
| - server.allowAsset = (url) => !url.path.endsWith(".dart");
|
| + environment.server.allowAsset = (url) => !url.path.endsWith(".dart");
|
| }
|
|
|
| /// This completer is used to keep pub running (by not completing) and
|
| /// to pipe fatal errors to pub's top-level error-handling machinery.
|
| var completer = new Completer();
|
|
|
| - server.barback.errors.listen((error) {
|
| + environment.server.barback.errors.listen((error) {
|
| log.error(log.red("Build error:\n$error"));
|
| });
|
|
|
| - server.barback.results.listen((result) {
|
| + environment.server.barback.results.listen((result) {
|
| if (result.succeeded) {
|
| // TODO(rnystrom): Report using growl/inotify-send where available.
|
| log.message("Build completed ${log.green('successfully')}");
|
| @@ -104,7 +95,7 @@ class ServeCommand extends PubCommand {
|
| if (!completer.isCompleted) completer.completeError(error, stackTrace);
|
| });
|
|
|
| - server.results.listen((result) {
|
| + environment.server.results.listen((result) {
|
| if (result.isSuccess) {
|
| log.message("${log.green('GET')} ${result.url.path} $_arrow "
|
| "${result.id}");
|
| @@ -123,7 +114,7 @@ class ServeCommand extends PubCommand {
|
| });
|
|
|
| log.message("Serving ${entrypoint.root.name} "
|
| - "on http://$hostname:${server.port}");
|
| + "on http://$hostname:${environment.server.port}");
|
|
|
| return completer.future;
|
| });
|
|
|