From 59537e1f66016a2dba22bd9314415facbd38c9f9 Mon Sep 17 00:00:00 2001 From: Victoria Ashworth <15619084+vashworth@users.noreply.github.com> Date: Fri, 2 May 2025 15:39:50 -0500 Subject: [PATCH] Add link to SwiftPM manual integration instructions (#168066) If SwiftPM integration fails, display a link to instructions on how to integrate manually. New error message will look like ``` An error occurred when adding Swift Package Manager integration: Exception: Forced a throw Swift Package Manager is currently an experimental feature, please file a bug at https://github.com/flutter/flutter/issues/new?template=01_activation.yml Consider including a copy of the following files in your bug report: ios/Runner.xcodeproj/project.pbxproj ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (or the scheme for the flavor used) To add Swift Package Manager integration manually, please use the following instructions: https://docs.flutter.dev/packages-and-plugins/swift-package-manager/for-app-developers#add-to-a-flutter-app-manually Alternatively, to avoid this failure, disable Flutter Swift Package Manager integration for the project by adding the following in the project's pubspec.yaml under the "flutter" section: "disable-swift-package-manager: true" Or disable Flutter Swift Package Manager integration globally with the following command: "flutter config --no-enable-swift-package-manager" ``` Fixes https://github.com/flutter/flutter/issues/160214. ## 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 --- .../swift_package_manager_integration_migration.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/flutter_tools/lib/src/migrations/swift_package_manager_integration_migration.dart b/packages/flutter_tools/lib/src/migrations/swift_package_manager_integration_migration.dart index 56c7d909dee..74bad5a1786 100644 --- a/packages/flutter_tools/lib/src/migrations/swift_package_manager_integration_migration.dart +++ b/packages/flutter_tools/lib/src/migrations/swift_package_manager_integration_migration.dart @@ -173,8 +173,6 @@ class SwiftPackageManagerIntegrationMigration extends ProjectMigrator { await _xcodeProjectInterpreter.getInfo(_xcodeProject.hostAppRoot.path); } on Exception catch (e) { restoreFromBackup(schemeInfo); - // TODO(vashworth): Add link to instructions on how to manually integrate - // once available on website. throwToolExit( 'An error occurred when adding Swift Package Manager integration:\n' ' $e\n\n' @@ -184,10 +182,12 @@ class SwiftPackageManagerIntegrationMigration extends ProjectMigrator { ' ${_platform.name}/Runner.xcodeproj/project.pbxproj\n' ' ${_platform.name}/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme ' '(or the scheme for the flavor used)\n\n' - 'To avoid this failure, disable Flutter Swift Package Manager integration for the project\n' + 'To add Swift Package Manager integration manually, please use the following instructions:\n' + 'https://docs.flutter.dev/to/add-swift-package-manager-manually\n\n' + 'Alternatively, to avoid this failure, disable Flutter Swift Package Manager integration for the project\n' 'by adding the following in the project\'s pubspec.yaml under the "flutter" section:\n' ' "disable-swift-package-manager: true"\n' - 'Alternatively, disable Flutter Swift Package Manager integration globally with the\n' + 'Or disable Flutter Swift Package Manager integration globally with the\n' 'following command:\n' ' "flutter config --no-enable-swift-package-manager"\n', );