@@ -65,20 +65,23 @@ class PubspecValidator {
6565 required AllowPackageLists allowedPackages,
6666 required void Function (String ) warningLogger,
6767 required Directory repoRoot,
68- required String minMinFlutterVersion,
68+ Version ? minMinFlutterVersion,
69+ Version ? minMinDartVersion,
6970 }) : _path = path,
7071 _indentation = indentation,
7172 _allowedPackages = allowedPackages,
7273 _logWarning = warningLogger,
7374 _repoRoot = repoRoot,
74- _minMinFlutterVersion = minMinFlutterVersion;
75+ _minMinFlutterVersion = minMinFlutterVersion,
76+ _minMinDartVersion = minMinDartVersion;
7577
7678 final path.Context _path;
7779 final String _indentation;
7880 final AllowPackageLists _allowedPackages;
7981 final void Function (String ) _logWarning;
8082 final Directory _repoRoot;
81- final String _minMinFlutterVersion;
83+ final Version ? _minMinFlutterVersion;
84+ final Version ? _minMinDartVersion;
8285
8386 /// Validates that the pubspec of a package follows repository conventions,
8487 /// returning a list of errors.
@@ -115,9 +118,6 @@ class PubspecValidator {
115118 final String ? minVersionError = _checkForMinimumVersionError (
116119 pubspec,
117120 package,
118- minMinFlutterVersion: _minMinFlutterVersion.isEmpty
119- ? null
120- : Version .parse (_minMinFlutterVersion),
121121 );
122122 if (minVersionError != null ) {
123123 printError ('$_indentation $minVersionError ' );
@@ -423,24 +423,8 @@ class PubspecValidator {
423423 /// Returns an error string if validation fails.
424424 String ? _checkForMinimumVersionError (
425425 Pubspec pubspec,
426- RepositoryPackage package, {
427- Version ? minMinFlutterVersion,
428- }) {
429- String unknownDartVersionError (Version flutterVersion) {
430- return 'Dart SDK version for Flutter SDK version '
431- '$flutterVersion is unknown. '
432- 'Please update the map for getDartSdkForFlutterSdk with the '
433- 'corresponding Dart version.' ;
434- }
435-
436- Version ? minMinDartVersion;
437- if (minMinFlutterVersion != null ) {
438- minMinDartVersion = getDartSdkForFlutterSdk (minMinFlutterVersion);
439- if (minMinDartVersion == null ) {
440- return unknownDartVersionError (minMinFlutterVersion);
441- }
442- }
443-
426+ RepositoryPackage package,
427+ ) {
444428 final Version ? dartConstraintMin = _minimumForConstraint (
445429 pubspec.environment['sdk' ],
446430 );
@@ -449,19 +433,19 @@ class PubspecValidator {
449433 );
450434
451435 // Validate the Flutter constraint, if any.
452- if (flutterConstraintMin != null && minMinFlutterVersion != null ) {
453- if (flutterConstraintMin < minMinFlutterVersion ) {
436+ if (flutterConstraintMin != null && _minMinFlutterVersion != null ) {
437+ if (flutterConstraintMin < _minMinFlutterVersion ) {
454438 return 'Minimum allowed Flutter version $flutterConstraintMin is less '
455- 'than $minMinFlutterVersion ' ;
439+ 'than $_minMinFlutterVersion ' ;
456440 }
457441 }
458442
459443 // Validate the Dart constraint, if any.
460444 if (dartConstraintMin != null ) {
461445 // Ensure that it satisfies the minimum.
462- if (minMinDartVersion != null ) {
463- if (dartConstraintMin < minMinDartVersion ) {
464- return 'Minimum allowed Dart version $dartConstraintMin is less than $minMinDartVersion ' ;
446+ if (_minMinDartVersion != null ) {
447+ if (dartConstraintMin < _minMinDartVersion ) {
448+ return 'Minimum allowed Dart version $dartConstraintMin is less than $_minMinDartVersion ' ;
465449 }
466450 }
467451
@@ -471,7 +455,10 @@ class PubspecValidator {
471455 flutterConstraintMin,
472456 );
473457 if (dartVersionForFlutterMinimum == null ) {
474- return unknownDartVersionError (flutterConstraintMin);
458+ return 'Dart SDK version for Flutter SDK version '
459+ '$flutterConstraintMin is unknown. '
460+ 'Please update the map for getDartSdkForFlutterSdk with the '
461+ 'corresponding Dart version.' ;
475462 }
476463 if (dartVersionForFlutterMinimum != dartConstraintMin) {
477464 return 'The minimum Dart version is $dartConstraintMin , but the '
0 commit comments