| 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;
|
|
|