From 2e9b38d54a19b3f39a50cd2fb828f665b46d93a0 Mon Sep 17 00:00:00 2001 From: Chris Bracken Date: Thu, 1 May 2025 09:59:26 -0700 Subject: [PATCH] Migrate SPM OS minimums to iOS 13, macOS 10.15 (#168153) iOS deployment target was migrated from 12 to 13 in: * https://github.com/flutter/flutter/pull/167737 macOS deployment target was migrated from 10.14 to 10.15 in: * https://github.com/flutter/flutter/pull/168101 Issue: https://github.com/flutter/flutter/issues/167735 Issue: https://github.com/flutter/flutter/issues/167745 ## 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] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [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/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --- .../lib/src/macos/swift_package_manager.dart | 4 ++-- .../macos/swift_package_manager_test.dart | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/flutter_tools/lib/src/macos/swift_package_manager.dart b/packages/flutter_tools/lib/src/macos/swift_package_manager.dart index e2f06200831..070f9616f9e 100644 --- a/packages/flutter_tools/lib/src/macos/swift_package_manager.dart +++ b/packages/flutter_tools/lib/src/macos/swift_package_manager.dart @@ -33,13 +33,13 @@ class SwiftPackageManager { static final SwiftPackageSupportedPlatform iosSwiftPackageSupportedPlatform = SwiftPackageSupportedPlatform( platform: SwiftPackagePlatform.ios, - version: Version(12, 0, null), + version: Version(13, 0, null), ); static final SwiftPackageSupportedPlatform macosSwiftPackageSupportedPlatform = SwiftPackageSupportedPlatform( platform: SwiftPackagePlatform.macos, - version: Version(10, 14, null), + version: Version(10, 15, null), ); /// Creates a Swift Package called 'FlutterGeneratedPluginSwiftPackage' that diff --git a/packages/flutter_tools/test/general.shard/macos/swift_package_manager_test.dart b/packages/flutter_tools/test/general.shard/macos/swift_package_manager_test.dart index f57bd763612..5c15b095547 100644 --- a/packages/flutter_tools/test/general.shard/macos/swift_package_manager_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/swift_package_manager_test.dart @@ -80,7 +80,7 @@ void main() { await spm.generatePluginsSwiftPackage([], platform, project); final String supportedPlatform = - platform == SupportedPlatform.ios ? '.iOS("12.0")' : '.macOS("10.14")'; + platform == SupportedPlatform.ios ? '.iOS("13.0")' : '.macOS("10.15")'; expect(project.flutterPluginSwiftPackageManifest.existsSync(), isTrue); expect(project.flutterPluginSwiftPackageManifest.readAsStringSync(), ''' // swift-tools-version: 5.9 @@ -133,7 +133,7 @@ $_doubleIndent await spm.generatePluginsSwiftPackage([validPlugin1], platform, project); final String supportedPlatform = - platform == SupportedPlatform.ios ? '.iOS("12.0")' : '.macOS("10.14")'; + platform == SupportedPlatform.ios ? '.iOS("13.0")' : '.macOS("10.15")'; expect(project.flutterPluginSwiftPackageManifest.existsSync(), isTrue); expect(project.flutterPluginSwiftPackageManifest.readAsStringSync(), ''' // swift-tools-version: 5.9 @@ -223,7 +223,7 @@ let package = Package( ); final String supportedPlatform = - platform == SupportedPlatform.ios ? '.iOS("12.0")' : '.macOS("10.14")'; + platform == SupportedPlatform.ios ? '.iOS("13.0")' : '.macOS("10.15")'; expect(project.flutterPluginSwiftPackageManifest.existsSync(), isTrue); expect(project.flutterPluginSwiftPackageManifest.readAsStringSync(), ''' // swift-tools-version: 5.9 @@ -268,7 +268,7 @@ let package = Package( fileSystem: fs, ); final String supportedPlatform = - platform == SupportedPlatform.ios ? '.iOS("12.0")' : '.macOS("10.14")'; + platform == SupportedPlatform.ios ? '.iOS("13.0")' : '.macOS("10.15")'; project.flutterPluginSwiftPackageManifest.createSync(recursive: true); project.flutterPluginSwiftPackageManifest.writeAsStringSync(supportedPlatform); SwiftPackageManager.updateMinimumDeployment( @@ -289,7 +289,7 @@ let package = Package( fileSystem: fs, ); final String supportedPlatform = - platform == SupportedPlatform.ios ? '.iOS("12.0")' : '.macOS("10.14")'; + platform == SupportedPlatform.ios ? '.iOS("13.0")' : '.macOS("10.15")'; project.flutterPluginSwiftPackageManifest.createSync(recursive: true); project.flutterPluginSwiftPackageManifest.writeAsStringSync(supportedPlatform); SwiftPackageManager.updateMinimumDeployment( @@ -310,13 +310,13 @@ let package = Package( fileSystem: fs, ); final String supportedPlatform = - platform == SupportedPlatform.ios ? '.iOS("12.0")' : '.macOS("10.14")'; + platform == SupportedPlatform.ios ? '.iOS("13.0")' : '.macOS("10.15")'; project.flutterPluginSwiftPackageManifest.createSync(recursive: true); project.flutterPluginSwiftPackageManifest.writeAsStringSync(supportedPlatform); SwiftPackageManager.updateMinimumDeployment( project: project, platform: platform, - deploymentTarget: platform == SupportedPlatform.ios ? '12.0' : '10.14', + deploymentTarget: platform == SupportedPlatform.ios ? '13.0' : '10.15', ); expect( project.flutterPluginSwiftPackageManifest.readAsLinesSync(), @@ -331,7 +331,7 @@ let package = Package( fileSystem: fs, ); final String supportedPlatform = - platform == SupportedPlatform.ios ? '.iOS("12.0")' : '.macOS("10.14")'; + platform == SupportedPlatform.ios ? '.iOS("13.0")' : '.macOS("10.15")'; project.flutterPluginSwiftPackageManifest.createSync(recursive: true); project.flutterPluginSwiftPackageManifest.writeAsStringSync(supportedPlatform); SwiftPackageManager.updateMinimumDeployment(