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

Selective update of depencencies #70

Closed
depau opened this issue Dec 30, 2013 · 3 comments
Closed

Selective update of depencencies #70

depau opened this issue Dec 30, 2013 · 3 comments

Comments

@depau
Copy link

depau commented Dec 30, 2013

It's quite annoying to wait for the recompilation of everything, including the slower Python, while the only thing that needs to be update is kivy. I think that the update argument should use this syntax:

--update all     # current behavior of update
--update module  # update just that module and then do all the other stuff (e.g. build the apk)

# for example:
--update kivy

Is it possible?

@tito
Copy link
Member

tito commented Dec 30, 2013

There is multiples things to take in account:

  • after the distribution is built, the toolchain is cleaned to save disk space (as requested by some users). We need to not do it by default i guess, and do it only when "buildozer clean" is invoked.
  • it's hard to determine what and how it should be updated. Updating kivy itself may require an update of python-for-android
  • it's really depending of the toolchain behind i guess. python-for-android can force an update of a specific module. But for the others, it's not possible. It it's about virtualenv, then special option can be passed.

It should'nt be slower if you have ccache installed on your system :)

@depau
Copy link
Author

depau commented Dec 30, 2013

No I don't think I have ccache, but if you say that it helps I'll run and install it :)
The purpose of my request is this: I forked deflectouch, and to solve some random crashes due to some of my changes I also forked kivy stable and added some try-excepts in some modules preventing it to make the whole app crash. The problem is that I have to try it directly on android, because the problem occurs only on android.
It happens that I make syntax errors, or forget an import somewhere; modifying the files in python-install to fix it quickly doesn't work, and the only way I found to make it work is actually removing all the dist directory so that it downloads '''everything''' again. In a few words I have to wait 10 minutes before I hear the music coming from my tablet or an exception in the logcat. That sucks very much! That's why I'd like to have a way to force the re-download and re-compilation of just a specific module.

@tito
Copy link
Member

tito commented Apr 21, 2014

Yes, really, just install ccache. We handle the rest.
You might even reduce more the compilation time using the env CCACHE_COMPILERCHECK=content. On my computer, a recompilation from scratch is 1m30. On a cloud builder, it's around 2m10.

Or, go into the toolchain and update the lib you want yourself :)

@tito tito closed this as completed Apr 21, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants