| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 analyzer_cli.src.options; | 5 library analyzer_cli.src.options; |
| 6 | 6 |
| 7 import 'dart:io'; | 7 import 'dart:io'; |
| 8 | 8 |
| 9 import 'package:analyzer_cli/src/driver.dart'; | 9 import 'package:analyzer_cli/src/driver.dart'; |
| 10 import 'package:args/args.dart'; | 10 import 'package:args/args.dart'; |
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 | 458 |
| 459 try { | 459 try { |
| 460 // TODO(scheglov) https://code.google.com/p/dart/issues/detail?id=11061 | 460 // TODO(scheglov) https://code.google.com/p/dart/issues/detail?id=11061 |
| 461 args = | 461 args = |
| 462 args.map((String arg) => arg == '-batch' ? '--batch' : arg).toList(); | 462 args.map((String arg) => arg == '-batch' ? '--batch' : arg).toList(); |
| 463 Map<String, String> definedVariables = <String, String>{}; | 463 Map<String, String> definedVariables = <String, String>{}; |
| 464 var results = parser.parse(args, definedVariables); | 464 var results = parser.parse(args, definedVariables); |
| 465 | 465 |
| 466 // Persistent worker. | 466 // Persistent worker. |
| 467 if (args.contains('--persistent_worker')) { | 467 if (args.contains('--persistent_worker')) { |
| 468 if (args.length != 2 || !args.contains('--build-mode')) { | 468 bool validArgs; |
| 469 if (!args.contains('--build-mode')) { |
| 470 validArgs = false; |
| 471 } else if (args.length == 2) { |
| 472 validArgs = true; |
| 473 } else if (args.length == 4 && args.contains('--dart-sdk')) { |
| 474 validArgs = true; |
| 475 } else { |
| 476 validArgs = false; |
| 477 } |
| 478 if (!validArgs) { |
| 469 printAndFail('The --persistent_worker flag should be used with and ' | 479 printAndFail('The --persistent_worker flag should be used with and ' |
| 470 'only with the --build-mode flag.'); | 480 'only with the --build-mode flag, and possibly the --dart-sdk ' |
| 481 'option. Got: $args'); |
| 471 return null; // Only reachable in testing. | 482 return null; // Only reachable in testing. |
| 472 } | 483 } |
| 473 return new CommandLineOptions._fromArgs(results, definedVariables); | 484 return new CommandLineOptions._fromArgs(results, definedVariables); |
| 474 } | 485 } |
| 475 | 486 |
| 476 // Help requests. | 487 // Help requests. |
| 477 if (results['help']) { | 488 if (results['help']) { |
| 478 _showUsage(parser); | 489 _showUsage(parser); |
| 479 exitHandler(0); | 490 exitHandler(0); |
| 480 return null; // Only reachable in testing. | 491 return null; // Only reachable in testing. |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 | 670 |
| 660 int _getNextFlagIndex(args, i) { | 671 int _getNextFlagIndex(args, i) { |
| 661 for (; i < args.length; ++i) { | 672 for (; i < args.length; ++i) { |
| 662 if (args[i].startsWith('--')) { | 673 if (args[i].startsWith('--')) { |
| 663 return i; | 674 return i; |
| 664 } | 675 } |
| 665 } | 676 } |
| 666 return i; | 677 return i; |
| 667 } | 678 } |
| 668 } | 679 } |
| OLD | NEW |