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

Side by Side Diff: pkg/analysis_server/lib/src/server/driver.dart

Issue 1214243005: Hook for overriding the creation of a package resolver (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Finish the thought Created 5 years, 5 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library driver; 5 library driver;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 import 'dart:math'; 9 import 'dart:math';
10 10
11 import 'package:analysis_server/src/analysis_server.dart'; 11 import 'package:analysis_server/src/analysis_server.dart';
12 import 'package:analysis_server/src/plugin/server_plugin.dart'; 12 import 'package:analysis_server/src/plugin/server_plugin.dart';
13 import 'package:analysis_server/src/server/http_server.dart'; 13 import 'package:analysis_server/src/server/http_server.dart';
14 import 'package:analysis_server/src/server/stdio_server.dart'; 14 import 'package:analysis_server/src/server/stdio_server.dart';
15 import 'package:analysis_server/src/socket_server.dart'; 15 import 'package:analysis_server/src/socket_server.dart';
16 import 'package:analysis_server/starter.dart'; 16 import 'package:analysis_server/starter.dart';
17 import 'package:analysis_server/uri/resolver_provider.dart';
17 import 'package:analyzer/file_system/physical_file_system.dart'; 18 import 'package:analyzer/file_system/physical_file_system.dart';
18 import 'package:analyzer/instrumentation/file_instrumentation.dart'; 19 import 'package:analyzer/instrumentation/file_instrumentation.dart';
19 import 'package:analyzer/instrumentation/instrumentation.dart'; 20 import 'package:analyzer/instrumentation/instrumentation.dart';
20 import 'package:analyzer/src/generated/engine.dart'; 21 import 'package:analyzer/src/generated/engine.dart';
21 import 'package:analyzer/src/generated/incremental_logger.dart'; 22 import 'package:analyzer/src/generated/incremental_logger.dart';
22 import 'package:analyzer/src/generated/java_io.dart'; 23 import 'package:analyzer/src/generated/java_io.dart';
23 import 'package:analyzer/src/generated/sdk.dart'; 24 import 'package:analyzer/src/generated/sdk.dart';
24 import 'package:analyzer/src/generated/sdk_io.dart'; 25 import 'package:analyzer/src/generated/sdk_io.dart';
25 import 'package:args/args.dart'; 26 import 'package:args/args.dart';
26 import 'package:plugin/manager.dart'; 27 import 'package:plugin/manager.dart';
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 * operational. 277 * operational.
277 */ 278 */
278 static const String SDK_OPTION = "sdk"; 279 static const String SDK_OPTION = "sdk";
279 280
280 /** 281 /**
281 * The instrumentation server that is to be used by the analysis server. 282 * The instrumentation server that is to be used by the analysis server.
282 */ 283 */
283 InstrumentationServer instrumentationServer; 284 InstrumentationServer instrumentationServer;
284 285
285 /** 286 /**
287 * The package resolver provider used to override the way package URI's are
288 * resolved in some contexts.
289 */
290 ResolverProvider packageResolverProvider;
291
292 /**
286 * The plugins that are defined outside the analysis_server package. 293 * The plugins that are defined outside the analysis_server package.
287 */ 294 */
288 List<Plugin> _userDefinedPlugins = <Plugin>[]; 295 List<Plugin> _userDefinedPlugins = <Plugin>[];
289 296
290 SocketServer socketServer; 297 SocketServer socketServer;
291 298
292 HttpAnalysisServer httpServer; 299 HttpAnalysisServer httpServer;
293 300
294 StdioAnalysisServer stdioServer; 301 StdioAnalysisServer stdioServer;
295 302
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 ServerPlugin serverPlugin = new ServerPlugin(); 388 ServerPlugin serverPlugin = new ServerPlugin();
382 List<Plugin> plugins = <Plugin>[]; 389 List<Plugin> plugins = <Plugin>[];
383 plugins.add(AnalysisEngine.instance.enginePlugin); 390 plugins.add(AnalysisEngine.instance.enginePlugin);
384 plugins.add(serverPlugin); 391 plugins.add(serverPlugin);
385 plugins.addAll(_userDefinedPlugins); 392 plugins.addAll(_userDefinedPlugins);
386 ExtensionManager manager = new ExtensionManager(); 393 ExtensionManager manager = new ExtensionManager();
387 manager.processPlugins(plugins); 394 manager.processPlugins(plugins);
388 // 395 //
389 // Create the sockets and start listening for requests. 396 // Create the sockets and start listening for requests.
390 // 397 //
391 socketServer = new SocketServer( 398 socketServer = new SocketServer(analysisServerOptions, defaultSdk, service,
392 analysisServerOptions, defaultSdk, service, serverPlugin); 399 serverPlugin, packageResolverProvider);
393 httpServer = new HttpAnalysisServer(socketServer); 400 httpServer = new HttpAnalysisServer(socketServer);
394 stdioServer = new StdioAnalysisServer(socketServer); 401 stdioServer = new StdioAnalysisServer(socketServer);
395 socketServer.userDefinedPlugins = _userDefinedPlugins; 402 socketServer.userDefinedPlugins = _userDefinedPlugins;
396 403
397 if (serve_http) { 404 if (serve_http) {
398 httpServer.serveHttp(port); 405 httpServer.serveHttp(port);
399 } 406 }
400 407
401 _captureExceptions(service, () { 408 _captureExceptions(service, () {
402 stdioServer.serveStdio().then((_) { 409 stdioServer.serveStdio().then((_) {
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 uuidFile.parent.createSync(recursive: true); 544 uuidFile.parent.createSync(recursive: true);
538 uuidFile.writeAsStringSync(uuid); 545 uuidFile.writeAsStringSync(uuid);
539 } catch (exception, stackTrace) { 546 } catch (exception, stackTrace) {
540 service.logPriorityException(exception, stackTrace); 547 service.logPriorityException(exception, stackTrace);
541 // Slightly alter the uuid to indicate it was not persisted 548 // Slightly alter the uuid to indicate it was not persisted
542 uuid = 'temp-$uuid'; 549 uuid = 'temp-$uuid';
543 } 550 }
544 return uuid; 551 return uuid;
545 } 552 }
546 } 553 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698