From d0670f0591435dc355b88a5bedfc4b6bc335f20e Mon Sep 17 00:00:00 2001 From: Chris Bracken Date: Fri, 15 Dec 2023 11:16:52 -0800 Subject: [PATCH] [macOS,iOS] CocoaPods recommended version: 1.13.0 (#135447) Due to changes in Xcode 15, several variables such as `DT_TOOLCHAIN_DIR` have been eliminateed in favour of others such as `TOOLCHAIN_DIR`. This broke CocoaPods support under Xcode 15, as reported in: https://github.com/CocoaPods/CocoaPods/issues/12012 @vashworth worked around this in Flutter in: https://github.com/flutter/flutter/pull/132803 The CocoaPods issue was resolved by the following PR to their repo: https://github.com/CocoaPods/CocoaPods/pull/12009 and was released in CocoaPods 1.13.0. Also switches from an if-else chain to a switch for CocoaPodsStatus handling. Related: https://github.com/flutter/flutter/issues/133584 Related: https://github.com/flutter/flutter/issues/132755 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat Co-authored-by: Greg Spencer --- packages/flutter_tools/lib/src/macos/cocoapods.dart | 2 +- .../test/general.shard/macos/cocoapods_test.dart | 6 +++--- .../test/general.shard/macos/cocoapods_validator_test.dart | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/flutter_tools/lib/src/macos/cocoapods.dart b/packages/flutter_tools/lib/src/macos/cocoapods.dart index 8975934c4dd..582a96a46fc 100644 --- a/packages/flutter_tools/lib/src/macos/cocoapods.dart +++ b/packages/flutter_tools/lib/src/macos/cocoapods.dart @@ -75,7 +75,7 @@ enum CocoaPodsStatus { } const Version cocoaPodsMinimumVersion = Version.withText(1, 10, 0, '1.10.0'); -const Version cocoaPodsRecommendedVersion = Version.withText(1, 11, 0, '1.11.0'); +const Version cocoaPodsRecommendedVersion = Version.withText(1, 13, 0, '1.13.0'); /// Cocoapods is a dependency management solution for iOS and macOS applications. /// diff --git a/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart b/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart index f780a2702d2..b1091b3e71c 100644 --- a/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart @@ -168,19 +168,19 @@ void main() { testWithoutContext('detects below recommended version', () async { pretendPodIsInstalled(); - pretendPodVersionIs('1.10.5'); + pretendPodVersionIs('1.12.5'); expect(await cocoaPodsUnderTest.evaluateCocoaPodsInstallation, CocoaPodsStatus.belowRecommendedVersion); }); testWithoutContext('detects at recommended version', () async { pretendPodIsInstalled(); - pretendPodVersionIs('1.11.0'); + pretendPodVersionIs('1.13.0'); expect(await cocoaPodsUnderTest.evaluateCocoaPodsInstallation, CocoaPodsStatus.recommended); }); testWithoutContext('detects above recommended version', () async { pretendPodIsInstalled(); - pretendPodVersionIs('1.11.1'); + pretendPodVersionIs('1.13.1'); expect(await cocoaPodsUnderTest.evaluateCocoaPodsInstallation, CocoaPodsStatus.recommended); }); }); 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 22216ba9f8a..670e32d25d8 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 @@ -40,7 +40,7 @@ void main() { final ValidationMessage message = result.messages.first; expect(message.type, ValidationMessageType.hint); expect(message.message, contains('CocoaPods $currentVersion out of date')); - expect(message.message, contains('(1.11.0 is recommended)')); + expect(message.message, contains('(1.13.0 is recommended)')); expect(message.message, contains('getting-started.html#updating-cocoapods')); }); });