-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Support materializing Flutter module host app on iOS #21276
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
Conversation
|
I'll carry this PR forward asap. |
694ff37 to
fb16c3a
Compare
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. |
|
CLA signed. |
d75705f to
bc69421
Compare
|
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
|
FYI @matthew-carroll Added support for materializing Flutter module projects on iOS. Currently, the materialized host app is in Objective-C only and uses CocoaPods, even if there are no plugins. Plan:
|
|
CC @dnfield Can you start with this thread when you begin with the iOS module project work? |
|
@dnfield @matthew-carroll This PR avoids the use of CocoaPods in the ephemeral host app. Not sure if that is what you meant by "initial project structure"? Avoiding CocoaPods also when materializing an iOS host app comes with a usability cost: If you happen to materialize your iOS host app before adding Flutter plugins (and CocoaPods to support them), then we are not in a good position to automatically fix it later, if/when you realize that your app does need plugins. The materialized host app is controlled by the app author and could be (almost) arbitrarily modified beyond the control and aid of Flutter tooling. So adding the plugin+CocoaPods setup later would in general be a manual step. Options, as I see them:
|
de9084f to
abc61b4
Compare
|
@mravn it looks like this code is checking for whether it should be using Am I missing something here where the |
|
@dnfield The Oops. I need to update that README with the template for the materialized host app. |
|
@dnfield I intend to finalize this PR this week, by adding an add2app test section to the Let me know if landing this PR interferes with your plans in any way. If it does, feel free to extract anything useful from it and then close it. |
|
That sounds good, I have a couple other areas around this I'm working through as well. If it's not looking good to you for this week please let me know so I can reprioritize - and thanks! |
|
@mravn we're going to rename "materialize" to "make-host-app-editable" - should we wait until after this PR lands to do that? Would that save us some conflicts? Or should I take care of that ASAP? |
|
I don't think it matters that much to my PR. I'll just rebase and sort it out. But don't rush the change for my sake. |
abc61b4 to
eb47058
Compare
|
@mravn is this ready for review? We'd like to get the functionality for this landed ASAP to unblock another effort on the ios/android materialization workflow. |
|
@dnfield Sorry, I've been busy. The PR is close to ready. I'm having trouble getting code signing/provisioning to work on the ios_host_app used by the module_test_ios devicelab test I've added. I may need some help with that. Otherwise we can remove that part of module_test_ios for now. I cannot edit the title of this PR to remove the WIP prefix, nor can I remove the cla:no label. The PR was created by my Google alter ego. |
|
A Googler has manually verified that the CLAs look good. (Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.) |
|
Overriding CLA status because it's due to confusion over a closed/unlinked account. @mravn can you go ahead and just disable the offending test for now, we can land this, and someone can pick up the test where you left off with it? That should unblock @matthew-carroll |
|
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
|
Done. The cla:no label came back though. |
|
A Googler has manually verified that the CLAs look good. (Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.) |
|
This LGTM, but can you confirm this is ready (modulo the desire for eventually fixing that test)? |
|
I'll test the functionality to be covered by the missing test tonight, manually. I'll keep you posted. |
|
With Flutter module project, ephemeral/non-editable iOS host app:
With Flutter module project, editable iOS host app:
|
|
Whoa! Wasn't done checking the add2app case, and found a problem. See #22277. |
WIP, not ready for review.