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

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

Issue 1686613002: Use different SDKs based on option settings (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 analysisServerOptions.enableIncrementalResolutionValidation = 368 analysisServerOptions.enableIncrementalResolutionValidation =
369 results[INCREMENTAL_RESOLUTION_VALIDATION]; 369 results[INCREMENTAL_RESOLUTION_VALIDATION];
370 analysisServerOptions.noErrorNotification = results[NO_ERROR_NOTIFICATION]; 370 analysisServerOptions.noErrorNotification = results[NO_ERROR_NOTIFICATION];
371 analysisServerOptions.noIndex = results[NO_INDEX]; 371 analysisServerOptions.noIndex = results[NO_INDEX];
372 analysisServerOptions.useAnalysisHighlight2 = 372 analysisServerOptions.useAnalysisHighlight2 =
373 results[USE_ANALISYS_HIGHLIGHT2]; 373 results[USE_ANALISYS_HIGHLIGHT2];
374 analysisServerOptions.fileReadMode = results[FILE_READ_MODE]; 374 analysisServerOptions.fileReadMode = results[FILE_READ_MODE];
375 375
376 _initIncrementalLogger(results[INCREMENTAL_RESOLUTION_LOG]); 376 _initIncrementalLogger(results[INCREMENTAL_RESOLUTION_LOG]);
377 377
378 DartSdk defaultSdk; 378 JavaFile defaultSdkDirectory;
379 if (results[SDK_OPTION] != null) { 379 if (results[SDK_OPTION] != null) {
380 defaultSdk = new DirectoryBasedDartSdk(new JavaFile(results[SDK_OPTION])); 380 defaultSdkDirectory = new JavaFile(results[SDK_OPTION]);
381 } else { 381 } else {
382 // No path to the SDK provided; use DirectoryBasedDartSdk.defaultSdk, 382 // No path to the SDK was provided.
383 // which will make a guess. 383 // Use DirectoryBasedDartSdk.defaultSdkDirectory, which will make a guess.
384 defaultSdk = DirectoryBasedDartSdk.defaultSdk; 384 defaultSdkDirectory = DirectoryBasedDartSdk.defaultSdkDirectory;
385 } 385 }
386 SdkCreator defaultSdkCreator =
387 () => new DirectoryBasedDartSdk(defaultSdkDirectory);
388 // TODO(brianwilkerson) It would be nice to avoid creating an SDK that
389 // cannot be re-used, but the SDK is needed to create a package map provider
390 // in the case where we need to run `pub` in order to get the package map.
391 DirectoryBasedDartSdk defaultSdk = defaultSdkCreator();
386 // 392 //
387 // Initialize the instrumentation service. 393 // Initialize the instrumentation service.
388 // 394 //
389 String logFilePath = results[INSTRUMENTATION_LOG_FILE]; 395 String logFilePath = results[INSTRUMENTATION_LOG_FILE];
390 if (logFilePath != null) { 396 if (logFilePath != null) {
391 _rollLogFiles(logFilePath, 5); 397 _rollLogFiles(logFilePath, 5);
392 FileInstrumentationServer fileBasedServer = 398 FileInstrumentationServer fileBasedServer =
393 new FileInstrumentationServer(logFilePath); 399 new FileInstrumentationServer(logFilePath);
394 instrumentationServer = instrumentationServer != null 400 instrumentationServer = instrumentationServer != null
395 ? new MulticastInstrumentationServer( 401 ? new MulticastInstrumentationServer(
(...skipping 17 matching lines...) Expand all
413 plugins.add(linterPlugin); 419 plugins.add(linterPlugin);
414 plugins.add(linterServerPlugin); 420 plugins.add(linterServerPlugin);
415 plugins.add(dartCompletionPlugin); 421 plugins.add(dartCompletionPlugin);
416 plugins.addAll(_userDefinedPlugins); 422 plugins.addAll(_userDefinedPlugins);
417 423
418 ExtensionManager manager = new ExtensionManager(); 424 ExtensionManager manager = new ExtensionManager();
419 manager.processPlugins(plugins); 425 manager.processPlugins(plugins);
420 // 426 //
421 // Create the sockets and start listening for requests. 427 // Create the sockets and start listening for requests.
422 // 428 //
423 socketServer = new SocketServer(analysisServerOptions, defaultSdk, service, 429 socketServer = new SocketServer(
424 serverPlugin, packageResolverProvider, embeddedUriResolverProvider); 430 analysisServerOptions,
431 defaultSdkCreator,
432 defaultSdk,
433 service,
434 serverPlugin,
435 packageResolverProvider,
436 embeddedUriResolverProvider);
425 httpServer = new HttpAnalysisServer(socketServer); 437 httpServer = new HttpAnalysisServer(socketServer);
426 stdioServer = new StdioAnalysisServer(socketServer); 438 stdioServer = new StdioAnalysisServer(socketServer);
427 socketServer.userDefinedPlugins = _userDefinedPlugins; 439 socketServer.userDefinedPlugins = _userDefinedPlugins;
428 440
429 if (serve_http) { 441 if (serve_http) {
430 httpServer.serveHttp(port); 442 httpServer.serveHttp(port);
431 } 443 }
432 444
433 _captureExceptions(service, () { 445 _captureExceptions(service, () {
434 stdioServer.serveStdio().then((_) async { 446 stdioServer.serveStdio().then((_) async {
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 */ 598 */
587 static void _rollLogFiles(String path, int numOld) { 599 static void _rollLogFiles(String path, int numOld) {
588 for (int i = numOld - 1; i >= 0; i--) { 600 for (int i = numOld - 1; i >= 0; i--) {
589 try { 601 try {
590 String oldPath = i == 0 ? path : '$path.$i'; 602 String oldPath = i == 0 ? path : '$path.$i';
591 new File(oldPath).renameSync('$path.${i+1}'); 603 new File(oldPath).renameSync('$path.${i+1}');
592 } catch (e) {} 604 } catch (e) {}
593 } 605 }
594 } 606 }
595 } 607 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698