Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[google_maps_flutter] Restore the arm64 workaround #5915

Merged

Conversation

stuartmorgan
Copy link
Contributor

@stuartmorgan stuartmorgan commented Jan 17, 2024

Restores the workaround to exclude arm64 when building for simulator, which is still necessary for apps that support back to iOS 12.

Also removes all the example-app-level workarounds that manually excluded arm64 simulator, which were masking the failure in the first place, so that we don't accidentally break this again. The exception is the exclusions for the unit test targets, which need them in order to match the Flutter-tool-generated exclusion to the Runner, otherwise the unit tests can't build.

See flutter/flutter#94491

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact "@test-exemption-reviewer" in the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@stuartmorgan
Copy link
Contributor Author

test-exempt: removing the workarounds from the Xcode project is a test for the actual change

@jmagman
Copy link
Member

jmagman commented Jan 17, 2024

 Error (Xcode): Building for iOS Simulator, but linking in object file built for iOS, file '/Volumes/Work/s/w/ir/x/w/packages/packages/google_maps_flutter/google_maps_flutter/example/ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/GoogleMaps' for architecture arm64

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8758620211172029057/+/u/Run_package_tests/drive_examples/stdout

Is this because google_maps_flutter/google_maps_flutter/example is using the published 2.4.0 plugin with the EXCLUDED_ARCH missing?

@stuartmorgan
Copy link
Contributor Author

Ah, right. That cleanup is the least important, so I'll just revert it, and make a note to do a separate PR for it later.

Looks like I'll need to keep some workarounds in the unit test target as well.

Copy link
Member

@jmagman jmagman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for tracking all this down and remembering all the details I forgot. 🙂

@stuartmorgan stuartmorgan added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 18, 2024
@auto-submit auto-submit bot merged commit 83c2c4d into flutter:main Jan 18, 2024
80 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 18, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jan 18, 2024
flutter/packages@1a2b780...83c2c4d

2024-01-18 [email protected] [google_maps_flutter] Restore the arm64 workaround (flutter/packages#5915)
2024-01-17 [email protected] [pigeon] Separates message call code generation into separate methods in the KotlinGenerator  (flutter/packages#5891)
2024-01-17 [email protected] [webview_flutter_wkebview] Verify JavaScriptChannels have a unique name (flutter/packages#5904)
2024-01-17 [email protected] [pigeon] Separates message call code generation into separate methods in the  `DartGenerator` (flutter/packages#5859)
2024-01-17 [email protected] Roll Flutter from 8e94423 to def6af0 (23 revisions) (flutter/packages#5911)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
@stuartmorgan stuartmorgan deleted the maps-ios-restore-ios12-arm64-workaround branch January 18, 2024 15:53
auto-submit bot pushed a commit that referenced this pull request Jan 18, 2024
Follows up on #5915 to remove the example-app-level workaround for the lack of arm64 slice, since the `flutter` build process will handle it automatically with current versions (now that the plugin-level workaround has been restored).

Also fixes another problem I noticed while removing those, which is that when I federated this plugin I never removed the RunnerTests and RunnerUITests targets from this project, even though all of the files had moved, leaving missing file references and targets that would not build. This hadn't been noticed because our tooling doesn't even try to run native tests on plugins that indicate that their implementation is in a different package (and we rarely manually open the native projects for the app-facing package).
@IttaiBarkai
Copy link

I am not sure if this is the correct place to post, so happy to delete this comment if necessary. Similar to one of the comments above, I had the same issue below:

Error (Xcode): Building for iOS Simulator, but linking in object file built for iOS, file

Since your latest commit, this issue has now been resolved (much appreciated), but for some reason the app crashes every time I do a hot restart. Just wondering if anyone else is experiencing this issue now or if it's just me.

@jmagman
Copy link
Member

jmagman commented Jan 18, 2024

Since your latest commit, this issue has now been resolved (much appreciated), but for some reason the app crashes every time I do a hot restart. Just wondering if anyone else is experiencing this issue now or if it's just me.

@IttaiBarkai can you file a new issue and completely fill out the template, including reproduction steps? https://github.com/flutter/flutter/issues/new?assignees=&labels=&projects=&template=2_bug.yml
Feel free to @ me in the issue. Thanks!

@IttaiBarkai
Copy link

Hi @jmagman, no problem, I will try and do it this weekend if I have time. Thanks for the quick response.

arc-yong pushed a commit to Arctuition/packages-arc that referenced this pull request Jun 14, 2024
Restores the workaround to exclude arm64 when building for simulator, which is still necessary for apps that support back to iOS 12.

Also removes all the example-app-level workarounds that manually excluded arm64 simulator, which were masking the failure in the first place, so that we don't accidentally break this again. The exception is the exclusions for the unit test targets, which need them in order to match the Flutter-tool-generated exclusion to the Runner, otherwise the unit tests can't build.

See flutter/flutter#94491
arc-yong pushed a commit to Arctuition/packages-arc that referenced this pull request Jun 14, 2024
Follows up on flutter#5915 to remove the example-app-level workaround for the lack of arm64 slice, since the `flutter` build process will handle it automatically with current versions (now that the plugin-level workaround has been restored).

Also fixes another problem I noticed while removing those, which is that when I federated this plugin I never removed the RunnerTests and RunnerUITests targets from this project, even though all of the files had moved, leaving missing file references and targets that would not build. This hadn't been noticed because our tooling doesn't even try to run native tests on plugins that indicate that their implementation is in a different package (and we rarely manually open the native projects for the app-facing package).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: google_maps_flutter platform-ios
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants