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

Unified Diff: lib/src/solver/backtracking_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/pubspec.dart ('k') | lib/src/solver/version_solver.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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}.');
+ }
+ }
}
}
« no previous file with comments | « lib/src/pubspec.dart ('k') | lib/src/solver/version_solver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698