-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Start on a common area for bootstraps, so that different bootstraps #991
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
Oh sweet thanks for the PR 🍻 |
I think we can deal with backend-specific differences in shared files on a case-by-case basis. Worst-case, we can patch them, but I don't think it would come to that. In many cases, I think we could just refactor the code to offer some backend-specific handling with a flag or other method. I'm interested in taking a stab at BasePythonActivity, but I probably won't have time in the near future to work on it. I think landing this patch is a good first step to start moving that process forward, and maybe once there's a shared space for backends, someone will feel it's easier to hack on a |
OK I agree with the approach indeed, thanks! I've merged the merge conflicts and now it seems that your |
I've checked "Allow edits from maintainers", do I need to do something else in addition to that? |
I think I actually need access to the branch of your fork rather than the pull request. That would probably allow me to do my rebasing/squashing magic 😄 |
Okay, sorry for the delay, I've invited you! |
f42f4c0
to
f307718
Compare
This is the first step to fix DRY across bootstraps, refs kivy#988
f307718
to
4e55085
Compare
That's perfect, thanks for sharing. I've started the rebasing/squashing. Some of the things I'd like to address before finishing with that pull requests are #1382 and #1380. By the way, I made a back up of the branch in case I messed it up. |
Just as a note, I highly depend on this to be able to redo #1433 in a better, comprehensive and non-horrific way - and #1433 itself is highly relevant for proper Python 3 support (at least without kivy, not sure if that has something built-in that handles this). So until some functionality like this one is merged in first, it will be difficult for me to advance |
What's the progress / state of this pull request? |
I think it still make sense, @kollivier already made his part, now it's on our side. We need to discuss if we want to integrate it this way. If we do I would fix the conflicts and merge, but I was busy on other things 😕 |
I haven't looked at the details, but simply having a |
@tito @inclement what's your input on this one? It would be lovely to get this in or something similar, so I can pick up work on #1433 and finally fix |
Weird, not sure what GitHub is on about, but I checked out the branch and rebased it onto master with no issue or no not-auto-resovled conflicts: https://github.com/JonasT/python-for-android/tree/bootstrap_refactor I have yet to test it though. I will try to rebase my |
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.
I don't think removing the sdl2 bootstrap entirely makes any sense. I am currently reworking this to retain it
Trying a reworked thing based on this here: #1496 |
Rework common bootstrap area based on kollivier's work, refs #991
Superceded by the now-merged #1496! |
I'm sorry we didn't make yours to the tree @kollivier. Thanks a mil for original initiative and the hard work you put in there 🍺 |
@kollivier I put your name into the commit message, I hope that's fine with you! You did great work, very cool we could finally get this in |
Yup, no worries! 👍 Thanks to you both for getting this past the finish line! There is definitely still more work to be done, I have some customizations I want to merge upstream and this work makes doing so much easier. Specifically, one thing is that I made the python zip extraction into an AsyncTask in PythonActivity, so that it doesn't block the UI and we can show the load image sooner. I'd like to actually have the base code for that (along with some other common functionality) as a start on BasePythonActivity! |
That sounds like a very great idea! |
can share common code. This is a first step to fixing issue #988. Note that this new approach copies over bootstrap files on every build, so I think it may remove the need for --symlink-java-src, though I've left that in just in case I'm misunderstanding something. I can remove it if needed. BTW I did test performance and the impact is minimal.
Next step will be to build a BasePythonActivity that has any common functions that are used by, or could be useful to, multiple bootstraps.