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

Side by Side Diff: sdk/lib/_internal/pub_generated/lib/src/command/serve.dart

Issue 577513002: try again to not auto start editor port (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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/_internal/pub/lib/src/command/serve.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 library pub.command.serve; 1 library pub.command.serve;
2 import 'dart:async'; 2 import 'dart:async';
3 import 'dart:math' as math; 3 import 'dart:math' as math;
4 import 'package:barback/barback.dart'; 4 import 'package:barback/barback.dart';
5 import '../barback/asset_environment.dart'; 5 import '../barback/asset_environment.dart';
6 import '../barback/pub_package_provider.dart'; 6 import '../barback/pub_package_provider.dart';
7 import '../log.dart' as log; 7 import '../log.dart' as log;
8 import '../utils.dart'; 8 import '../utils.dart';
9 import 'barback.dart'; 9 import 'barback.dart';
10 final _arrow = getSpecial('\u2192', '=>'); 10 final _arrow = getSpecial('\u2192', '=>');
11 class ServeCommand extends BarbackCommand { 11 class ServeCommand extends BarbackCommand {
12 String get description => 12 String get description =>
13 'Run a local web development server.\n\n' 13 'Run a local web development server.\n\n'
14 'By default, this serves "web/" and "test/", but an explicit list of \ n' 14 'By default, this serves "web/" and "test/", but an explicit list of \ n'
15 'directories to serve can be provided as well.'; 15 'directories to serve can be provided as well.';
16 String get usage => "pub serve [directories...]"; 16 String get usage => "pub serve [directories...]";
17 String get docUrl => "http://dartlang.org/tools/pub/cmd/pub-serve.html"; 17 String get docUrl => "http://dartlang.org/tools/pub/cmd/pub-serve.html";
18 PubPackageProvider _provider; 18 PubPackageProvider _provider;
19 String get hostname => commandOptions['hostname']; 19 String get hostname => commandOptions['hostname'];
20 int get port => parseInt(commandOptions['port'], 'port'); 20 int get port => parseInt(commandOptions['port'], 'port');
21 int get adminPort { 21 int get adminPort {
22 var adminPort = commandOptions['admin-port']; 22 var adminPort = commandOptions['admin-port'];
23 return adminPort == null ? null : parseInt(adminPort, 'admin port'); 23 return adminPort == null ? null : parseInt(adminPort, 'admin port');
24 } 24 }
25 bool get useDart2JS => commandOptions['dart2js']; 25 bool get useDart2JS => commandOptions['dart2js'];
26 bool get logAdminUrl => commandOptions['log-admin-url'];
27 BarbackMode get defaultMode => BarbackMode.DEBUG; 26 BarbackMode get defaultMode => BarbackMode.DEBUG;
28 List<String> get defaultSourceDirectories => ["web", "test"]; 27 List<String> get defaultSourceDirectories => ["web", "test"];
29 final _completer = new Completer(); 28 final _completer = new Completer();
30 ServeCommand() { 29 ServeCommand() {
31 commandParser.addOption( 30 commandParser.addOption(
32 'hostname', 31 'hostname',
33 defaultsTo: 'localhost', 32 defaultsTo: 'localhost',
34 help: 'The hostname to listen on.'); 33 help: 'The hostname to listen on.');
35 commandParser.addOption( 34 commandParser.addOption(
36 'port', 35 'port',
(...skipping 23 matching lines...) Expand all
60 entrypoint, 59 entrypoint,
61 mode, 60 mode,
62 watcherType: watcherType, 61 watcherType: watcherType,
63 hostname: hostname, 62 hostname: hostname,
64 basePort: port, 63 basePort: port,
65 useDart2JS: useDart2JS).then((x2) { 64 useDart2JS: useDart2JS).then((x2) {
66 try { 65 try {
67 var environment = x2; 66 var environment = x2;
68 var directoryLength = 67 var directoryLength =
69 sourceDirectories.map(((dir) => dir.length)).reduce(math.max ); 68 sourceDirectories.map(((dir) => dir.length)).reduce(math.max );
70 environment.startAdminServer(adminPort).then((x3) { 69 join2() {
71 try { 70 environment.pauseUpdates();
72 var server = x3; 71 var it0 = sourceDirectories.iterator;
73 server.results.listen(((_) { 72 break0(x6) {
74 assert(false); 73 environment.barback.errors.listen(((error) {
74 log.error(log.red("Build error:\n$error"));
75 }));
76 environment.barback.results.listen(((result) {
77 if (result.succeeded) {
78 log.message(
79 "Build completed ${log.green('successfully')}");
80 } else {
81 log.message(
82 "Build completed with " "${log.red(result.errors.len gth)} errors.");
83 }
75 }), onError: _fatalError); 84 }), onError: _fatalError);
76 join2() { 85 environment.resumeUpdates();
77 environment.pauseUpdates(); 86 _completer.future.then((x3) {
78 var it0 = sourceDirectories.iterator; 87 try {
79 break0(x7) { 88 x3;
80 environment.barback.errors.listen(((error) { 89 completer0.complete(null);
81 log.error(log.red("Build error:\n$error")); 90 } catch (e1) {
82 })); 91 completer0.completeError(e1);
83 environment.barback.results.listen(((result) { 92 }
84 if (result.succeeded) { 93 }, onError: (e2) {
85 log.message( 94 completer0.completeError(e2);
86 "Build completed ${log.green('successfully')}"); 95 });
87 } else { 96 }
88 log.message( 97 continue0(x7) {
89 "Build completed with " "${log.red(result.errors .length)} errors."); 98 if (it0.moveNext()) {
90 } 99 Future.wait([]).then((x5) {
91 }), onError: _fatalError); 100 var directory = it0.current;
92 environment.resumeUpdates(); 101 _startServer(
93 _completer.future.then((x4) { 102 environment,
103 directory,
104 directoryLength).then((x4) {
94 try { 105 try {
95 x4; 106 x4;
96 completer0.complete(null); 107 continue0(null);
97 } catch (e2) { 108 } catch (e3) {
98 completer0.completeError(e2); 109 completer0.completeError(e3);
99 } 110 }
100 }, onError: (e3) { 111 }, onError: (e4) {
101 completer0.completeError(e3); 112 completer0.completeError(e4);
102 }); 113 });
103 } 114 });
104 continue0(x8) { 115 } else {
105 if (it0.moveNext()) { 116 break0(null);
106 Future.wait([]).then((x6) {
107 var directory = it0.current;
108 _startServer(
109 environment,
110 directory,
111 directoryLength).then((x5) {
112 try {
113 x5;
114 continue0(null);
115 } catch (e4) {
116 completer0.completeError(e4);
117 }
118 }, onError: (e5) {
119 completer0.completeError(e5);
120 });
121 });
122 } else {
123 break0(null);
124 }
125 }
126 continue0(null);
127 } 117 }
128 if (logAdminUrl) { 118 }
119 continue0(null);
120 }
121 if (adminPort != null) {
122 environment.startAdminServer(adminPort).then((x8) {
123 try {
124 var server = x8;
125 server.results.listen(((_) {
126 assert(false);
127 }), onError: _fatalError);
129 log.message( 128 log.message(
130 "Running admin server on " "${log.bold('http://${hostn ame}:${server.port}')}"); 129 "Running admin server on " "${log.bold('http://${hostn ame}:${server.port}')}");
131 join2(); 130 join2();
132 } else { 131 } catch (e5) {
133 join2(); 132 completer0.completeError(e5);
134 } 133 }
135 } catch (e1) { 134 }, onError: (e6) {
136 completer0.completeError(e1); 135 completer0.completeError(e6);
137 } 136 });
138 }, onError: (e6) { 137 } else {
139 completer0.completeError(e6); 138 join2();
140 }); 139 }
141 } catch (e0) { 140 } catch (e0) {
142 completer0.completeError(e0); 141 completer0.completeError(e0);
143 } 142 }
144 }, onError: (e7) { 143 }, onError: (e7) {
145 completer0.completeError(e7); 144 completer0.completeError(e7);
146 }); 145 });
147 } 146 }
148 if (commandOptions['force-poll']) { 147 if (commandOptions['force-poll']) {
149 join1(WatcherType.POLLING); 148 join1(WatcherType.POLLING);
150 } else { 149 } else {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 completer0.completeError(e2); 211 completer0.completeError(e2);
213 } 212 }
214 }); 213 });
215 return completer0.future; 214 return completer0.future;
216 } 215 }
217 void _fatalError(error, [stackTrace]) { 216 void _fatalError(error, [stackTrace]) {
218 if (_completer.isCompleted) return; 217 if (_completer.isCompleted) return;
219 _completer.completeError(error, stackTrace); 218 _completer.completeError(error, stackTrace);
220 } 219 }
221 } 220 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/pub/lib/src/command/serve.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698