Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Unified Diff: lib/src/solver/version_solver.dart

Issue 2165423002: Add support for Flutter SDK constraints. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Code review changes Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/src/solver/backtracking_solver.dart ('k') | lib/src/validator/dependency.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/solver/version_solver.dart
diff --git a/lib/src/solver/version_solver.dart b/lib/src/solver/version_solver.dart
index 83564c22c8056feb363707d76f803f84afdb3973..3c4553c26ae8ba0eaa96f0e4628376f652ca3430 100644
--- a/lib/src/solver/version_solver.dart
+++ b/lib/src/solver/version_solver.dart
@@ -79,11 +79,25 @@ class SolveResult {
LockFile get lockFile {
// Don't factor in overridden dependencies' SDK constraints, because we'll
// accept those packages even if their constraints don't match.
- var sdkConstraint = new VersionConstraint.intersection(pubspecs.values
+ var nonOverrides = pubspecs.values
.where((pubspec) =>
!_root.dependencyOverrides.any((dep) => dep.name == pubspec.name))
- .map((pubspec) => pubspec.environment.sdkVersion));
- return new LockFile(packages, sdkConstraint: sdkConstraint);
+ .toList();
+
+ var dartMerged = new VersionConstraint.intersection(nonOverrides
+ .map((pubspec) => pubspec.dartSdkConstraint));
+
+ var flutterConstraints = nonOverrides
+ .map((pubspec) => pubspec.flutterSdkConstraint)
+ .where((constraint) => constraint != null)
+ .toList();
+ var flutterMerged = flutterConstraints.isEmpty
+ ? null
+ : new VersionConstraint.intersection(flutterConstraints);
+
+ return new LockFile(packages,
+ dartSdkConstraint: dartMerged,
+ flutterSdkConstraint: flutterMerged);
}
final SourceRegistry _sources;
« no previous file with comments | « lib/src/solver/backtracking_solver.dart ('k') | lib/src/validator/dependency.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698