| Index: sdk/lib/_internal/pub/lib/src/barback/build_environment.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/barback/build_environment.dart b/sdk/lib/_internal/pub/lib/src/barback/build_environment.dart
|
| index 47c242d8d00d8feac4120224f7056232fc201f73..012e07c9d2b3c7923f27ad34c6be28a996e06ad2 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/barback/build_environment.dart
|
| +++ b/sdk/lib/_internal/pub/lib/src/barback/build_environment.dart
|
| @@ -58,11 +58,9 @@ class BuildEnvironment {
|
| var barback = new Barback(new PubPackageProvider(graph));
|
| barback.log.listen(_log);
|
|
|
| - return _startServers(hostname, basePort, mode, graph, barback,
|
| - rootDirectories).then((servers) {
|
| - var environment = new BuildEnvironment._(graph, servers, mode,
|
| - watcherType, rootDirectories);
|
| -
|
| + var environment = new BuildEnvironment._(graph, barback, mode,
|
| + watcherType, rootDirectories);
|
| + return environment._startServers(hostname, basePort).then((_) {
|
| // If the entrypoint package manually configures the dart2js
|
| // transformer, don't include it in the built-in transformer list.
|
| //
|
| @@ -85,16 +83,13 @@ class BuildEnvironment {
|
| }
|
|
|
| /// Start the [BarbackServer]s that will serve [rootDirectories].
|
| - static Future<List<BarbackServer>> _startServers(String hostname,
|
| - int basePort, BarbackMode mode, PackageGraph graph, Barback barback,
|
| - Iterable<String> rootDirectories) {
|
| + Future<List<BarbackServer>> _startServers(String hostname, int basePort) {
|
| _bind(port, rootDirectory) {
|
| if (basePort == 0) port = 0;
|
| - return BarbackServer.bind(hostname, port, barback,
|
| - graph.entrypoint.root.name, rootDirectory);
|
| + return BarbackServer.bind(this, hostname, port, rootDirectory);
|
| }
|
|
|
| - var rootDirectoryList = rootDirectories.toList();
|
| + var rootDirectoryList = _rootDirectories.toList();
|
|
|
| // For consistency, "web/" should always have the first available port and
|
| // "test/" should always have the second. Other directories are assigned
|
| @@ -113,14 +108,16 @@ class BuildEnvironment {
|
| i += 1;
|
| }
|
|
|
| - return Future.wait(serverFutures);
|
| + return Future.wait(serverFutures).then((boundServers) {
|
| + servers.addAll(boundServers);
|
| + });
|
| }
|
|
|
| /// The servers serving this environment's assets.
|
| - final List<BarbackServer> servers;
|
| + final servers = <BarbackServer>[];
|
|
|
| /// The [Barback] instance used to process assets in this environment.
|
| - Barback get barback => servers.first.barback;
|
| + final Barback barback;
|
|
|
| /// The root package being built.
|
| Package get rootPackage => graph.entrypoint.root;
|
| @@ -142,7 +139,7 @@ class BuildEnvironment {
|
| /// exposed.
|
| final Set<String> _rootDirectories;
|
|
|
| - BuildEnvironment._(this.graph, this.servers, this.mode, this._watcherType,
|
| + BuildEnvironment._(this.graph, this.barback, this.mode, this._watcherType,
|
| Iterable<String> rootDirectories)
|
| : _rootDirectories = rootDirectories.toSet();
|
|
|
|
|