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

Release 2019.08.09 #1955

Merged
merged 61 commits into from
Aug 19, 2019
Merged

Release 2019.08.09 #1955

merged 61 commits into from
Aug 19, 2019

Conversation

inclement
Copy link
Member

@inclement inclement commented Aug 9, 2019

  • 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 and arm64-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

opacam and others added 30 commits July 2, 2019 00:12
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!!
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 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
AndreMiras and others added 24 commits July 27, 2019 00:27
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.
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)
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.
Follow up of #1946.
Increases coverage by testing part of `Recipe.download_file()` handling
https schema. Next up would be to handle more schemas in the tests.
Also addressed @opacam comments from previous pull requests.
Copy link
Member

@AndreMiras AndreMiras left a 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 👍

@inclement
Copy link
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.

@AndreMiras
Copy link
Member

Sure I can take a look.
Build is passing https://travis-ci.org/kivy/python-for-android/builds/569996622 ✔️

@inclement
Copy link
Member Author

All tests passed, merging.

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

Successfully merging this pull request may close these issues.

6 participants