OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'dart:async'; | 5 import 'dart:async'; |
6 | 6 |
7 import '../entrypoint.dart'; | 7 import '../entrypoint.dart'; |
8 import '../validator.dart'; | 8 import '../validator.dart'; |
9 | 9 |
10 /// A validator that validates a package's dependencies overrides (or the | 10 /// A validator that validates a package's dependencies overrides (or the |
11 /// absence thereof). | 11 /// absence thereof). |
12 class DependencyOverrideValidator extends Validator { | 12 class DependencyOverrideValidator extends Validator { |
13 DependencyOverrideValidator(Entrypoint entrypoint) | 13 DependencyOverrideValidator(Entrypoint entrypoint) |
14 : super(entrypoint); | 14 : super(entrypoint); |
15 | 15 |
16 Future validate() { | 16 Future validate() { |
17 if (entrypoint.root.dependencyOverrides.isNotEmpty) { | 17 var overridden = |
| 18 entrypoint.root.dependencyOverrides.map((dep) => dep.name).toSet(); |
| 19 var dev = entrypoint.root.devDependencies.map((dep) => dep.name).toSet(); |
| 20 if (overridden.difference(dev).isNotEmpty) { |
18 errors.add( | 21 errors.add( |
19 'Your pubspec.yaml must not have a "dependency_overrides" field.\n' | 22 'Your pubspec.yaml must not override non-dev dependencies.\n' |
20 'This ensures you test your package against the same versions of ' | 23 'This ensures you test your package against the same versions of ' |
21 'its dependencies\n' | 24 'its dependencies\n' |
22 'that users will have when they use it.'); | 25 'that users will have when they use it.'); |
23 } | 26 } |
24 return new Future.value(); | 27 return new Future.value(); |
25 } | 28 } |
26 } | 29 } |
OLD | NEW |