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 library pub.validator.dependency; | 5 library pub.validator.dependency; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:pub_semver/pub_semver.dart'; | 9 import 'package:pub_semver/pub_semver.dart'; |
10 | 10 |
11 import '../entrypoint.dart'; | 11 import '../entrypoint.dart'; |
12 import '../log.dart' as log; | 12 import '../log.dart' as log; |
13 import '../package.dart'; | 13 import '../package.dart'; |
| 14 import '../source/hosted.dart'; |
14 import '../validator.dart'; | 15 import '../validator.dart'; |
15 | 16 |
16 /// The range of all pub versions that don't support `^` version constraints. | 17 /// The range of all pub versions that don't support `^` version constraints. |
17 /// | 18 /// |
18 /// This is the actual range of pub versions, whereas [_postCaretPubVersions] is | 19 /// This is the actual range of pub versions, whereas [_postCaretPubVersions] is |
19 /// the nicer-looking range that doesn't include a prerelease tag. | 20 /// the nicer-looking range that doesn't include a prerelease tag. |
20 final _preCaretPubVersions = new VersionConstraint.parse("<1.8.0-dev.3.0"); | 21 final _preCaretPubVersions = new VersionConstraint.parse("<1.8.0-dev.3.0"); |
21 | 22 |
22 /// The range of all pub versions that do support `^` version constraints. | 23 /// The range of all pub versions that do support `^` version constraints. |
23 /// | 24 /// |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 | 61 |
61 if (caretDeps.isNotEmpty && !_caretAllowed) { | 62 if (caretDeps.isNotEmpty && !_caretAllowed) { |
62 _errorAboutCaretConstraints(caretDeps); | 63 _errorAboutCaretConstraints(caretDeps); |
63 } | 64 } |
64 } | 65 } |
65 | 66 |
66 /// Warn that dependencies should use the hosted source. | 67 /// Warn that dependencies should use the hosted source. |
67 Future _warnAboutSource(PackageDep dep) async { | 68 Future _warnAboutSource(PackageDep dep) async { |
68 var versions; | 69 var versions; |
69 try { | 70 try { |
70 var ref = new PackageRef(dep.name, 'hosted', dep.name); | 71 var ids = await entrypoint.cache.sources['hosted'] |
71 var ids = await entrypoint.cache.sources['hosted'].getVersions(ref); | 72 .getVersions(HostedSource.refFor(dep.name)); |
72 versions = ids.map((id) => id.version).toList(); | 73 versions = ids.map((id) => id.version).toList(); |
73 } catch (error) { | 74 } catch (error) { |
74 versions = []; | 75 versions = []; |
75 } | 76 } |
76 | 77 |
77 var constraint; | 78 var constraint; |
78 var primary = Version.primary(versions); | 79 var primary = Version.primary(versions); |
79 if (primary != null) { | 80 if (primary != null) { |
80 constraint = _constraintForVersion(primary); | 81 constraint = _constraintForVersion(primary); |
81 } else { | 82 } else { |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 errors.add(buffer.toString().trim()); | 209 errors.add(buffer.toString().trim()); |
209 } | 210 } |
210 | 211 |
211 /// Returns the suggested version constraint for a dependency that was tested | 212 /// Returns the suggested version constraint for a dependency that was tested |
212 /// against [version]. | 213 /// against [version]. |
213 String _constraintForVersion(Version version) { | 214 String _constraintForVersion(Version version) { |
214 if (_caretAllowed) return "^$version"; | 215 if (_caretAllowed) return "^$version"; |
215 return '">=$version <${version.nextBreaking}"'; | 216 return '">=$version <${version.nextBreaking}"'; |
216 } | 217 } |
217 } | 218 } |
OLD | NEW |