| Index: lib/src/solver/backtracking_solver.dart
|
| diff --git a/lib/src/solver/backtracking_solver.dart b/lib/src/solver/backtracking_solver.dart
|
| index 45fccba0cd03ef91b93221e14e3fe160dd3d32ad..66d4d2edfa130cdaea538ba0582bc39d5fecc468 100644
|
| --- a/lib/src/solver/backtracking_solver.dart
|
| +++ b/lib/src/solver/backtracking_solver.dart
|
| @@ -39,6 +39,7 @@ import 'package:pub_semver/pub_semver.dart';
|
|
|
| import '../barback.dart' as barback;
|
| import '../exceptions.dart';
|
| +import '../flutter.dart' as flutter;
|
| import '../lock_file.dart';
|
| import '../log.dart' as log;
|
| import '../package.dart';
|
| @@ -647,11 +648,27 @@ class BacktrackingSolver {
|
| /// Throws a [SolveFailure] if not.
|
| void _validateSdkConstraint(Pubspec pubspec) {
|
| if (_overrides.containsKey(pubspec.name)) return;
|
| - if (pubspec.environment.sdkVersion.allows(sdk.version)) return;
|
|
|
| - throw new BadSdkVersionException(pubspec.name,
|
| - 'Package ${pubspec.name} requires SDK version '
|
| - '${pubspec.environment.sdkVersion} but the current SDK is '
|
| - '${sdk.version}.');
|
| + if (!pubspec.dartSdkConstraint.allows(sdk.version)) {
|
| + throw new BadSdkVersionException(pubspec.name,
|
| + 'Package ${pubspec.name} requires SDK version '
|
| + '${pubspec.dartSdkConstraint} but the current SDK is '
|
| + '${sdk.version}.');
|
| + }
|
| +
|
| + if (pubspec.flutterSdkConstraint != null) {
|
| + if (!flutter.isAvailable) {
|
| + throw new BadSdkVersionException(pubspec.name,
|
| + 'Package ${pubspec.name} requires the Flutter SDK, which is not '
|
| + 'available.');
|
| + }
|
| +
|
| + if (!pubspec.flutterSdkConstraint.allows(flutter.version)) {
|
| + throw new BadSdkVersionException(pubspec.name,
|
| + 'Package ${pubspec.name} requires Flutter SDK version '
|
| + '${pubspec.flutterSdkConstraint} but the current SDK is '
|
| + '${flutter.version}.');
|
| + }
|
| + }
|
| }
|
| }
|
|
|