Skip to content
This repository has been archived by the owner on Apr 30, 2021. It is now read-only.

Commit

Permalink
Remove outmoded --url-mapping option.
Browse files Browse the repository at this point in the history
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1375643003 .
  • Loading branch information
pq committed Sep 28, 2015
1 parent 7f1ee04 commit 2c1bbb7
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 75 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 1.1.1

- Removed outmoded `--url-mapping` command line option.

## 1.1.0

- New `--lints` command line option.
Expand Down
17 changes: 4 additions & 13 deletions lib/src/driver.dart
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,6 @@ class Driver {
if (options.packageConfigPath != _previousOptions.packageConfigPath) {
return false;
}
if (!_equalMaps(
options.customUrlMappings, _previousOptions.customUrlMappings)) {
return false;
}
if (!_equalMaps(
options.definedVariables, _previousOptions.definedVariables)) {
return false;
Expand Down Expand Up @@ -296,8 +292,7 @@ class Driver {
/// Decide on the appropriate method for resolving URIs based on the given
/// [options] and [customUrlMappings] settings, and return a
/// [SourceFactory] that has been configured accordingly.
SourceFactory _chooseUriResolutionPolicy(
CommandLineOptions options, Map<String, String> customUrlMappings) {
SourceFactory _chooseUriResolutionPolicy(CommandLineOptions options) {
Packages packages;
Map<String, List<fileSystem.Folder>> packageMap;
UriResolver packageUriResolver;
Expand Down Expand Up @@ -352,11 +347,8 @@ class Driver {

// Now, build our resolver list.

// Custom and 'dart:' URIs come first.
List<UriResolver> resolvers = [
new CustomUriResolver(customUrlMappings),
new DartUriResolver(sdk)
];
// 'dart:' URIs come first.
List<UriResolver> resolvers = [new DartUriResolver(sdk)];

// Next SdkExts.
if (packageMap != null) {
Expand Down Expand Up @@ -401,8 +393,7 @@ class Driver {
_previousOptions = options;
// Choose a package resolution policy and a diet parsing policy based on
// the command-line options.
SourceFactory sourceFactory =
_chooseUriResolutionPolicy(options, options.customUrlMappings);
SourceFactory sourceFactory = _chooseUriResolutionPolicy(options);
AnalyzeFunctionBodiesPredicate dietParsingPolicy =
_chooseDietParsingPolicy(options);
// Create a context using these policies.
Expand Down
65 changes: 30 additions & 35 deletions lib/src/options.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ void printAndFail(String message, {int exitCode: 15}) {

/// Analyzer commandline configuration options.
class CommandLineOptions {

/// The path to an analysis options file
final String analysisOptionsFile;

Expand Down Expand Up @@ -82,20 +81,15 @@ class CommandLineOptions {
/// Whether to treat warnings as fatal
final bool warningsAreFatal;

/// A table mapping library URIs to the file system path where the library
/// source is located.
final Map<String, String> customUrlMappings;

/// Whether to use package:dev_compiler for strong static checking.
final bool strongMode;

/// Whether to emit hints from [strongMode] analysis.
final bool strongHints;

/// Initialize options from the given parsed [args].
CommandLineOptions._fromArgs(ArgResults args,
Map<String, String> definedVariables,
Map<String, String> customUrlMappings)
CommandLineOptions._fromArgs(
ArgResults args, Map<String, String> definedVariables)
: dartSdkPath = args['dart-sdk'],
this.definedVariables = definedVariables,
analysisOptionsFile = args['options'],
Expand All @@ -112,12 +106,11 @@ class CommandLineOptions {
packageConfigPath = args['packages'],
packageRootPath = args['package-root'],
shouldBatch = args['batch'],
showPackageWarnings = args['show-package-warnings'] ||
args['package-warnings'],
showPackageWarnings =
args['show-package-warnings'] || args['package-warnings'],
showSdkWarnings = args['show-sdk-warnings'] || args['warnings'],
sourceFiles = args.rest,
warningsAreFatal = args['fatal-warnings'],
this.customUrlMappings = customUrlMappings,
strongMode = args['strong'],
strongHints = args['strong-hints'];

Expand Down Expand Up @@ -189,10 +182,12 @@ class CommandLineOptions {
negatable: false)
..addOption('dart-sdk', help: 'The path to the Dart SDK.')
..addOption('packages',
help: 'Path to the package resolution configuration file, which supplies a mapping of package names to paths. This option cannot be used with --package-root.')
help:
'Path to the package resolution configuration file, which supplies a mapping of package names to paths. This option cannot be used with --package-root.')
..addOption('package-root',
abbr: 'p',
help: 'Path to a package root directory (deprecated). This option cannot be used with --packages.')
help:
'Path to a package root directory (deprecated). This option cannot be used with --packages.')
..addOption('options', help: 'Path to an analysis options file.')
..addOption('format',
help: 'Specifies the format in which errors are displayed.')
Expand Down Expand Up @@ -241,7 +236,8 @@ class CommandLineOptions {
negatable: false)
..addOption('url-mapping',
help: '--url-mapping=libraryUri,/path/to/library.dart directs the '
'analyzer to use "library.dart" as the source for an import ' 'of "libraryUri".',
'analyzer to use "library.dart" as the source for an import '
'of "libraryUri".',
allowMultiple: true,
splitCommas: false)
//
Expand Down Expand Up @@ -314,17 +310,7 @@ class CommandLineOptions {
exit(15);
}
}
Map<String, String> customUrlMappings = <String, String>{};
for (String mapping in results['url-mapping']) {
List<String> splitMapping = mapping.split(',');
if (splitMapping.length != 2) {
_showUsage(parser);
exit(15);
}
customUrlMappings[splitMapping[0]] = splitMapping[1];
}
return new CommandLineOptions._fromArgs(
results, definedVariables, customUrlMappings);
return new CommandLineOptions._fromArgs(results, definedVariables);
} on FormatException catch (e) {
print(e.message);
_showUsage(parser);
Expand Down Expand Up @@ -360,8 +346,13 @@ class CommandLineParser {

/// Defines a flag.
/// See [ArgParser.addFlag()].
void addFlag(String name, {String abbr, String help, bool defaultsTo: false,
bool negatable: true, void callback(bool value), bool hide: false}) {
void addFlag(String name,
{String abbr,
String help,
bool defaultsTo: false,
bool negatable: true,
void callback(bool value),
bool hide: false}) {
_knownFlags.add(name);
_parser.addFlag(name,
abbr: abbr,
Expand All @@ -374,9 +365,15 @@ class CommandLineParser {

/// Defines a value-taking option.
/// See [ArgParser.addOption()].
void addOption(String name, {String abbr, String help, List<String> allowed,
Map<String, String> allowedHelp, String defaultsTo, void callback(value),
bool allowMultiple: false, bool splitCommas}) {
void addOption(String name,
{String abbr,
String help,
List<String> allowed,
Map<String, String> allowedHelp,
String defaultsTo,
void callback(value),
bool allowMultiple: false,
bool splitCommas}) {
_knownFlags.add(name);
_parser.addOption(name,
abbr: abbr,
Expand All @@ -397,9 +394,9 @@ class CommandLineParser {
/// flags and options defined by this parser, and returns the result. The
/// values of any defined variables are captured in the given map.
/// See [ArgParser].
ArgResults parse(
List<String> args, Map<String, String> definedVariables) => _parser
.parse(_filterUnknowns(parseDefinedVariables(args, definedVariables)));
ArgResults parse(List<String> args, Map<String, String> definedVariables) =>
_parser.parse(
_filterUnknowns(parseDefinedVariables(args, definedVariables)));

List<String> parseDefinedVariables(
List<String> args, Map<String, String> definedVariables) {
Expand All @@ -421,12 +418,10 @@ class CommandLineParser {
}

List<String> _filterUnknowns(List<String> args) {

// Only filter args if the ignore flag is specified, or if
// _alwaysIgnoreUnrecognized was set to true.
if (_alwaysIgnoreUnrecognized ||
args.contains('--ignore-unrecognized-flags')) {

//TODO(pquitslund): replace w/ the following once library skew issues are
// sorted out
//return args.where((arg) => !arg.startsWith('--') ||
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: analyzer_cli
version: 1.1.0
version: 1.1.1
author: Dart Team <misc@dartlang.org>
description: Command line interface for the Dart Analyzer.
homepage: https://github.com/dart-lang/analyzer_cli
Expand Down
32 changes: 6 additions & 26 deletions test/options_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// BSD-style license that can be found in the LICENSE file.

@TestOn("vm")

library analyzer_cli.test.options;

import 'package:analyzer_cli/src/options.dart';
Expand Down Expand Up @@ -33,8 +32,6 @@ main() {
expect(options.showSdkWarnings, isFalse);
expect(options.sourceFiles, equals(['foo.dart']));
expect(options.warningsAreFatal, isFalse);
expect(options.customUrlMappings, isNotNull);
expect(options.customUrlMappings.isEmpty, isTrue);
expect(options.strongMode, isFalse);
});

Expand Down Expand Up @@ -130,23 +127,10 @@ main() {
expect(options.warningsAreFatal, isTrue);
});

test('customUrlMappings', () {
CommandLineOptions options = CommandLineOptions.parse([
'--dart-sdk',
'.',
'--url-mapping',
'dart:dummy,/path/to/dummy.dart',
'foo.dart'
]);
expect(options.customUrlMappings, isNotNull);
expect(options.customUrlMappings.isEmpty, isFalse);
expect(options.customUrlMappings['dart:dummy'],
equals('/path/to/dummy.dart'));
});

test('notice unrecognized flags', () {
expect(() => new CommandLineParser().parse(
['--bar', '--baz', 'foo.dart'], {}),
expect(
() => new CommandLineParser()
.parse(['--bar', '--baz', 'foo.dart'], {}),
throwsA(new isInstanceOf<FormatException>()));
});

Expand Down Expand Up @@ -183,13 +167,9 @@ main() {

test("can't specify package and package-root", () {
var failureMessage;
CommandLineOptions.parse([
'--package-root',
'.',
'--packages',
'.',
'foo.dart'
], (msg) => failureMessage = msg);
CommandLineOptions.parse(
['--package-root', '.', '--packages', '.', 'foo.dart'],
(msg) => failureMessage = msg);
expect(failureMessage,
equals("Cannot specify both '--package-root' and '--packages."));
});
Expand Down

0 comments on commit 2c1bbb7

Please sign in to comment.