-
Notifications
You must be signed in to change notification settings - Fork 1.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
Release 2019.08.09 #1955
Release 2019.08.09 #1955
Conversation
Fix Bootstrap.get_bootstrap_from_recipes() so it's smarter and deterministic, fixes #1875
Also: - remove unneeded calls to android's sdkmanager - remove download of android's platform 19 (because we don't need it)
When a pure python package it's supplied inside the dependency list (for the method `expand_dependencies`), we will get a crash because we don't have a recipe for it, unless we contemplate that situation
Fix crash when guessing Bootstrap (expand_dependencies)
Docker - Update android's sdk tools to `28.0.2`
* [gitignore] Add test/coverage entries to gitignore * [gitignore] Add `testapps/build/` to gitignore * [gitignore] Add `.directory` to gitignore Those files are autogenerated by `Dolphin`, the KDE's file manager
Because we don't use it (we are using pytest), so better keep it simple Note: this was introduced by mistake in b5d9b61
libx264 and ffmpeg recipes fixes for arm64-v8
- Fix misspelled word - update docker image size to the current situation Thanks @AndreMiras!!
Because we already build them whenever we build our python recipes, so this way we will avoid to make it fail the `CI` test `rebuild_updated_recipes` in the case that we have to touch both hostpython recipes at the same time
Since now we have an smartest way to determine the right bootstrap based on recipes, it's time to rely on it for our `rebuild_updated_recipes` Closes: #1594
By shortening a little some long texts, thanks @Jonast and @inclement!!
Merge 2019.07.08 release branch to develop
Drop CrystaX support and code base
Remove `nosetests.xml` from gitignore
Adds an interface in PythonActivity and a method to register a Python function which will be called when the onRequestPermissionsResult callback is received. In android/permissions.py, a new function 'register_permissions_callback' is added to register a Python function (that takes three arguments) which will receive the three arguments of onRequestPermissionsResult.
Add docstrings
Add documentation: testing a pull request
In order to avoid issues with old android's NDKs, we force to raise an error in case that an NDK version lower than the specified is detected. We also add the ability to extract the android's NDK letter version, which for now, will only be used to inform the user of the version which is using
Basic toolchain.py unit tests
Make it raise an error if an old ndk is used
Increases `test_create()` coverage demonstrating crash referenced in: <#1867 (comment)> Adds `test_recipes()` checking if it prints out without crashing.
Increases toolchain.py test coverage
Add a document describing how p4a interacts with pip & python packages
- Adds start_service_not_as_foreground() to avoid always displaying an associated notification without this being configurable at runtime. It only is configurable right now if setting the foreground property via --service, which cannot be done when using the simpler service/main.py entrypoint - Fixes service_only service code template not rendering .foreground correctly since it added an outdated, useless function name override - Fixes notification channel name which is visible to end user hardcoding "python" in its name which is not ideal for end user naming (since the average user might not even know what python is) - Fixes override of doStartForeground() leading to quite some error-prone code duplication
Fix foreground notification being mandatory and more (attempt 2)
Bumps to Kivy==1.11.1
Added setuptools to Kivy recipe requirements
1) fixes isExternalStorageRemovable is expecting a file object, error was: ``` 07-28 16:36:46.845 2152 2784 I python : File "/home/andre/workspace/EtherollApp/.buildozer/android/platform/build/build/python-installs/etheroll/android/storage.py", line 61, in primary_external_storage_path 07-28 16:36:46.847 2152 2784 I python : File "jnius/jnius_export_class.pxi", line 1034, in jnius.jnius.JavaMultipleMethod.__call__ 07-28 16:36:46.848 2152 2784 I python : jnius.jnius.JavaException: No methods matching your arguments, available: ['()Z', '(Ljava/io/File;)Z'] ``` 2) fixes `os.path.exists()` doesn't accept `None`, error was: 07-28 22:31:25.877 31203 31313 I python : File "/home/andre/workspace/EtherollApp/.buildozer/android/platform/build/build/python-installs/etheroll/android/storage.py", line 101, in secondary_external_storage_path 07-28 22:31:25.878 31203 31313 I python : File "/home/andre/workspace/EtherollApp/.buildozer/android/platform/build/build/other_builds/python3-libffi-openssl-sqlite3/armeabi-v7a__ndk_target_21/python3/Lib/genericpath.py", line 19, in exists 07-28 22:31:25.879 31203 31313 I python : TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType 3) fixes on services `PythonActivity.mActivity` is None, refs kivy/kivy#6388
Add functions for obtaining the default storage paths
Currently unit tests the following: - `Recipe.download_if_necessary()` - `Recipe.download()` Next up is `Recipe.download_file()`. This is more difficult and will be addressed in subsequent pull request.
…nload Unit tests Recipe download feature
- call Cython via `python -m Cython` to avoid picking one not matching the current python version (which can happen if just calling `Cython`) - make sure Cython is present in Dockerfile.py3 and Dockerfile.py2 - make sure python 2 is available in Dockerfile.py3 - this should fix #1885
Call Cython via `python -m Cython` rather than system-wide binary
* Added build failure if run under Python 2 * Made Python 2 check more robust * Style fixes * Changed minimum python3 minor version to 3.4 * Added a deprecation warning log to the Python 2 recipe during build * Updated tox.ini to run py2 tests only on android module * Added tests for Python version checking * Added test for Python 2 running long enough to exit nicely * Pep8 and code style improvements * Added descriptions for flake8 exceptions * Hardcoded python2 tests in tox.ini * Removed E127 and E129 global disable
Allows registering the onRequestPermissionsResult callback. Adds an interface in PythonActivity and a method to register a Python function which will be called when the onRequestPermissionsResult callback is received. In android/permissions.py, a new function 'register_permissions_callback' is added to register a Python function (that takes three arguments) which will receive the three arguments of onRequestPermissionsResult.
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.
Nice, I've tried with two of my apps, seems all good 👍
Thanks @AndreMiras. I might not have time to finish the checklist items this week, if anyone would like to do them then go ahead, there shouldn't be any issues that I know of. |
Sure I can take a look. |
All tests passed, merging. |
Check that the build is passing
Run the tests locally via tox: this performs some long-running tests that are skipped on Travis.
Build and run the on_device_unit_tests app using buildozer. Check that they all pass.
Build and run the following testapps for arch
armeabi-v7a
andarm64-v8a
:python3 setup_testapp_python3_sqlite_openssl.py apk
armeabi-v7a
arm64-v8a
python3 setup_testapp_python2.py apk
armeabi-v7a
arm64-v8a
Check that the version number is correct