Require xcode_backend.sh arguments (introduced in Flutter v0.0.7)#65124
Require xcode_backend.sh arguments (introduced in Flutter v0.0.7)#65124jmagman merged 3 commits intoflutter:masterfrom
Conversation
| # Named entry points were introduced in Flutter v0.0.7. | ||
| echo "error: Your Xcode project is incompatible with this version of Flutter. Run \"rm -rf ios/Runner.xcodeproj\" and \"flutter create .\" to regenerate." | ||
| exit -1 |
There was a problem hiding this comment.
This is the actual change. The rest of the PR updates the benchmark Xcode projects.
| ); | ||
| runOnlyForDeploymentPostprocessing = 0; | ||
| shellPath = /bin/sh; | ||
| shellScript = "/bin/sh $FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh"; |
| BuildApp | ||
| EmbedFlutterFrameworks | ||
| # Named entry points were introduced in Flutter v0.0.7. | ||
| EchoError "error: Your Xcode project is incompatible with this version of Flutter. Run \"rm -rf ios/Runner.xcodeproj\" and \"flutter create .\" to regenerate." |
There was a problem hiding this comment.
ultra nit / optional: "Consider source controlling your project before regenerating to inspect the difference."
|
Boo, missed |
Never mind these tests are flaky. |
|
Some compile time regression is detected after this commit. I'd like to confirm that this is expected due to build changes. I'd also like to know a little more about why it's increase significantly, and if there's any hope to make the compile a little faster. (The compile time became even slower when I introduced e2e in #65602). CC @jmagman @kf6gpe |
@liyuqian Before this PR the benchmarks were not thinning the Flutter frameworks to the targeted architecture because the Xcode projects were created (or copied from) pre-v0.0.7. https://github.com/flutter/flutter/pull/65124/files#diff-0d00f38df3883291f23cee8074ac075dL319-L320 instead of: The test benchmark app being transferred to the device should be much smaller now, which is a tradeoff we make in exchange for build time. I'd have to look at the logs before and after to confirm that's the cause. However as long as there isn't a compilation regression in a newly created/post v1.0 Flutter app, I'm not sure it's worth investigating too closely... |
|
Sounds good. Thanks for the detailed explanation! We can move on as is. |
Description
xcode_backend.sh supported pre-Flutter v0.0.7 created apps that were missing a post-compilation build phase. #64988 reland will require this build phase hook to change the bundled app's Info.plist.
Stop supporting the pre-v0.0.7 Xcode projects missing build phase. Generate a build error on the slim chance these still exist in the wild:

Related Issues
#7913
#64988
Tests
I added the following tests:
Update the benchmark integration test Xcode projects that were created pre-v0.0.7.
#64988 postsubmit failed on the devicelab:
These tests now pass.
Checklist
///).flutter analyze --flutter-repo) does not report any problems on my PR.Breaking Change