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.
AndreMiras
approved these changes
Aug 11, 2019
Member
AndreMiras
left a comment
There was a problem hiding this comment.
Nice, I've tried with two of my apps, seems all good 👍
Member
Author
|
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. |
Member
|
Sure I can take a look. |
Member
Author
|
All tests passed, merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-v7aandarm64-v8a:python3 setup_testapp_python3_sqlite_openssl.py apkarmeabi-v7aarm64-v8apython3 setup_testapp_python2.py apkarmeabi-v7aarm64-v8aCheck that the version number is correct