-
Notifications
You must be signed in to change notification settings - Fork 26.9k
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
Generate bitcode for plugin frameworks for flutter build ios-framework #49102
Conversation
Directory outputDirectory, | ||
BuildMode mode, | ||
Directory iPhoneBuildOutput, | ||
Directory simulatorBuildOutput, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These params were unused.
final String emptyBitcodeMarker = lines | ||
.skip(index - 1) | ||
.take(3) | ||
.firstWhere( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is fun
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks I had "fun" writing it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we testing the flow of:
flutter build ios --debug
flutter build ios-framework # verify bitcode
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we testing the flow of:
flutter build ios --debug flutter build ios-framework # verify bitcode
?
You mean to prove the Release plugins are linking against the Release version of Flutter.framework? No, but that's a good idea (though will add a good chunk of time to this test).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Description
The plugin frameworks didn't have bitcode embedded because they were being built, not archived. Add
BITCODE_GENERATION_MODE
when building to force marker or actual bitcode, depending on configuration.While building the Flutter plugins, they were linking on the last version of Flutter.framework copied from
flutter build
/run
. So if you ranflutter build ios --debug
thenflutter build ios-framework
, the Release plugins would not compile with bitcode since they were linking on the debug version of Flutter.framework, which does not contain bitcode.Related Issues
Fixes #48092
Tests
Checklist
///
).flutter analyze --flutter-repo
) does not report any problems on my PR.Breaking Change