| Index: pkg/analysis_server/lib/src/context_manager.dart
|
| diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
|
| index 19737b8cabaac87494304f16e50c82438035c5a3..41af5d9316c7eaa5667ced58e2c08671e22df760 100644
|
| --- a/pkg/analysis_server/lib/src/context_manager.dart
|
| +++ b/pkg/analysis_server/lib/src/context_manager.dart
|
| @@ -34,6 +34,9 @@ import 'package:analyzer/src/task/options.dart';
|
| import 'package:analyzer/src/util/absolute_path.dart';
|
| import 'package:analyzer/src/util/glob.dart';
|
| import 'package:analyzer/src/util/yaml.dart';
|
| +import 'package:linter/src/config.dart';
|
| +import 'package:linter/src/linter.dart';
|
| +import 'package:linter/src/rules.dart';
|
| import 'package:package_config/packages.dart';
|
| import 'package:package_config/packages_file.dart' as pkgfile show parse;
|
| import 'package:package_config/src/packages_impl.dart' show MapPackages;
|
| @@ -683,7 +686,7 @@ class ContextManagerImpl implements ContextManager {
|
| if (options == null && !optionsRemoved) {
|
| return;
|
| }
|
| - AnalysisOptions analysisOptions = info.analysisDriver.analysisOptions;
|
| + AnalysisOptionsImpl analysisOptions = info.analysisDriver.analysisOptions;
|
|
|
| // In case options files are removed, revert to defaults.
|
| if (optionsRemoved) {
|
| @@ -703,18 +706,15 @@ class ContextManagerImpl implements ContextManager {
|
| }
|
| }
|
|
|
| - // TODO(brianwilkerson) Figure out what to do here.
|
| -// // Notify options processors.
|
| -// AnalysisEngine.instance.optionsPlugin.optionsProcessors
|
| -// .forEach((OptionsProcessor p) {
|
| -// try {
|
| -// p.optionsProcessed(info.context, options);
|
| -// } catch (e, stacktrace) {
|
| -// AnalysisEngine.instance.logger.logError(
|
| -// 'Error processing analysis options',
|
| -// new CaughtException(e, stacktrace));
|
| -// }
|
| -// });
|
| + var lintOptions = options['linter'];
|
| + if (lintOptions != null) {
|
| + LintConfig config = new LintConfig.parseMap(lintOptions);
|
| + Iterable<LintRule> lintRules = ruleRegistry.enabled(config);
|
| + if (lintRules.isNotEmpty) {
|
| + analysisOptions.lint = true;
|
| + analysisOptions.lintRules = lintRules.toList();
|
| + }
|
| + }
|
|
|
| applyToAnalysisOptions(analysisOptions, options);
|
|
|
|
|