Show CocoaPods version in hint text (#40117)
diff --git a/packages/flutter_tools/lib/src/base/user_messages.dart b/packages/flutter_tools/lib/src/base/user_messages.dart index a1f1d91..985b9ce 100644 --- a/packages/flutter_tools/lib/src/base/user_messages.dart +++ b/packages/flutter_tools/lib/src/base/user_messages.dart
@@ -167,8 +167,8 @@ '$consequence\n' 'To upgrade:\n' '$upgradeInstructions'; - String cocoaPodsOutdated(String recVersion, String consequence, String upgradeInstructions) => - 'CocoaPods out of date ($recVersion is recommended).\n' + String cocoaPodsOutdated(String currentVersion, String recVersion, String consequence, String upgradeInstructions) => + 'CocoaPods $currentVersion out of date ($recVersion is recommended).\n' '$consequence\n' 'To upgrade:\n' '$upgradeInstructions';
diff --git a/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart b/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart index ce57632..1bd13c8 100644 --- a/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart +++ b/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart
@@ -45,8 +45,9 @@ userMessages.cocoaPodsUnknownVersion(unknownCocoaPodsConsequence, cocoaPodsUpgradeInstructions))); } else { status = ValidationType.partial; + final String currentVersionText = await cocoaPods.cocoaPodsVersionText; messages.add(ValidationMessage.hint( - userMessages.cocoaPodsOutdated(cocoaPods.cocoaPodsRecommendedVersion, noCocoaPodsConsequence, cocoaPodsUpgradeInstructions))); + userMessages.cocoaPodsOutdated(currentVersionText, cocoaPods.cocoaPodsRecommendedVersion, noCocoaPodsConsequence, cocoaPodsUpgradeInstructions))); } }
diff --git a/packages/flutter_tools/test/general.shard/macos/cocoapods_validator_test.dart b/packages/flutter_tools/test/general.shard/macos/cocoapods_validator_test.dart index 59c838a..46c3b5c 100644 --- a/packages/flutter_tools/test/general.shard/macos/cocoapods_validator_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/cocoapods_validator_test.dart
@@ -62,9 +62,20 @@ testUsingContext('Emits partial status when CocoaPods version is too low', () async { when(cocoaPods.evaluateCocoaPodsInstallation) .thenAnswer((_) async => CocoaPodsStatus.belowRecommendedVersion); + const String currentVersion = '1.4.0'; + when(cocoaPods.cocoaPodsVersionText) + .thenAnswer((_) async => currentVersion); + const String recommendedVersion = '1.8.0'; + when(cocoaPods.cocoaPodsRecommendedVersion) + .thenAnswer((_) => recommendedVersion); const CocoaPodsValidator workflow = CocoaPodsValidator(); final ValidationResult result = await workflow.validate(); expect(result.type, ValidationType.partial); + expect(result.messages.length, 1); + final ValidationMessage message = result.messages.first; + expect(message.type, ValidationMessageType.hint); + expect(message.message, contains('CocoaPods $currentVersion out of date')); + expect(message.message, contains('($recommendedVersion is recommended)')); }, overrides: <Type, Generator>{ CocoaPods: () => cocoaPods, });