Commit graph

935 commits

Author SHA1 Message Date
Andre Miras
a9fc2fce61 Increases ios target test coverage
This is a follow-up for #1160 and #1168.
Addresses the following:
- grows `buildozer/targets/ios.py` target coverage from 24% to 56%
- fixes `AttributeError` on `TargetIos` error call

Next up should be improving:
- code signing process (toggle off not fully integrated)
- actual deployment (not yet tested)
- further increase `buildozer/targets/ios.py` test coverage
2020-06-25 07:42:42 +02:00
Andre Miras
3f851ec924
Merge pull request #1168 from AndreMiras/feature/test_ios
 Unit test ios target
2020-06-27 16:00:22 +02:00
Andre Miras
f858adfa7e
Merge pull request #1165 from pakal/user_expansion_in_paths
Expand "~" before every path normalization.
2020-06-25 16:16:10 +02:00
Pascal Chambon
1323c057e1 Expand "~" user before every path normalization. 2020-06-24 21:42:38 +02:00
Andre Miras
ece5748982 Unit test ios target
- basic ios target test
- refactors existing android test for code sharing
- changes `call_build_package()` to simple function

Grows `buildozer/targets/ios.py` coverage from 11% to 24%.
This setups the canvas for more tests to come later.
2020-06-24 18:07:34 +02:00
Andre Miras
a967c0912e
Merge pull request #1160 from AndreMiras/feature/ios_build
🍏 Improves iOS support
2020-06-21 14:39:23 +02:00
Andre Miras
020a5504f3 🍏 Improves iOS support
Updates & fixes support for iOS target, covers the following:
- Build integration test
- Updates to new kivy-ios structure
- Bumps to ios-deploy 1.10.0 (`make` replaced by `xcodebuild`)
- Makes it possible to toggle code signing (now disabled by default)

Note this is the first iteration of a longer serie.
Subsequent pull requests will try to improve the following:
- code signing process (toggle not fully integrated)
- actual deployment (not yet tested)
- unit tests (mainly `buildozer/targets/ios.py`)
- other forms of technical debt
2020-06-20 19:11:14 +02:00
Andre Miras
af577b6138
Merge pull request #1158 from AndreMiras/feature/split_ci
👷 Moves Android build to dedicated workflow file
2020-06-20 00:41:29 +02:00
Andre Miras
afab91caf8 👷 Moves Android build to dedicated workflow file
This is in preparation for the soon to come ios build integration test.
2020-06-19 21:04:56 +02:00
Julian
a3704e7fb7
SafeConfigParser deprecated (#1155)
SafeConfigParser deprecated.
SafeConfigParser was renamed to ConfigParser in Python 3.2. Use of it in Python 3.7 gives a DeprecationWarning.
As Buildozer is not supported at below Python 3.2, simply replaced all mentions.

Co-authored-by: Julian-O <kraken@somethinkodd.com>
2020-06-15 13:40:25 +02:00
Andre Miras
40c79e5a93
Merge pull request #1142 from AndreMiras/feature/garden_is_deprecated
🔥 Drops garden support
2020-06-11 17:02:57 +02:00
Andre Miras
e8b20d5beb 🔥 Drops garden support
Garden are now installed like normal packages, refs:
https://kivy.org/doc/stable/api-kivy.garden.html#update-to-garden-structure
2020-06-11 14:42:28 +02:00
Andre Miras
25a5a11b64
Merge pull request #1147 from Julian-O/patch-1
Declare Buildozer to be Stable
2020-06-10 12:32:03 +02:00
Julian
3081af7cca
Declare Buildozer to be Stable
According to @AndreMiras ([ref](https://discord.com/channels/423249981340778496/490493814281338890/719947159570612264)), buildozer should be considered to be stable.

This edit lets PyPI know.

(This feels like it deserves a little fanfare: 🥳🎉 Congrats and thanks to you all for your work!)
2020-06-10 08:59:04 +10:00
Andre Miras
2d9c05af58
Merge pull request #1140 from AndreMiras/feature/bumps_openjdk_version
⬆️ Bumps Ubuntu and OpenJDK versions
2020-06-06 15:38:51 +02:00
Andre Miras
47630e848b ⬆️ Bumps Ubuntu and OpenJDK versions
- Ubuntu 20.04
- OpenJDK 13
2020-06-03 13:51:04 +02:00
Gabriel Pettier
ffe73a67b5
Merge pull request #1139 from AndreMiras/feature/post_release_version
Post release bump 1.2.0.dev0
2020-06-01 21:55:47 +02:00
Andre Miras
5d7610cf6c Post release bump 1.2.0.dev0 2020-06-01 21:51:01 +02:00
Andre Miras
94cfcb8d59
Merge pull request #1137 from AndreMiras/release/1.2.0
🔖 1.2.0
2020-06-01 21:45:23 +02:00
Andre Miras
4a2bf27cda 🔖 1.2.0 2020-06-01 21:30:37 +02:00
Andre Miras
ce114822df
Merge pull request #1135 from AndreMiras/feature/command_line_tools
⬆️ Migrates to Command line tools
2020-05-31 12:29:12 +02:00
Andre Miras
435d6a21eb ⬆️ Migrates to Command line tools
The SDK Tools package is deprecated and no longer receiving updates:
https://developer.android.com/studio/releases/sdk-tools
Also drops the "tools" package install as it's considered obsolete.

Migrates to command line tools:
https://developer.android.com/studio#cmdline-tools
https://developer.android.com/studio/command-line

Makes it possible to use both OpenJDK 8 and more recent versions.
Tested successfully in Arch with OpenJDK 10.
2020-05-31 12:06:20 +02:00
Andre Miras
697139d1f5
Merge pull request #1132 from AndreMiras/feature/bump_cython_version
⬆️ Bumps to latest Cython version
2020-05-30 23:04:58 +02:00
Andre Miras
4bffaa64a1
Merge pull request #1131 from AndreMiras/feature/macos_integration_test
 Also integration test on macOS
2020-05-30 21:16:13 +02:00
Andre Miras
32c5b8379c Also integration test on macOS
Note the `sed` expression got updated to work for both OS.
Also workaround openssl lib install on macOS, the error was:
```
  RAN: /bin/bash -c 'venv/bin/pip install Cython'

  STDOUT:
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting Cython
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/
  WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/
  WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/
  Could not fetch URL https://pypi.org/simple/cython/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/cython/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
  ERROR: Could not find a version that satisfies the requirement Cython (from versions: none)
ERROR: No matching distribution found for Cython
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
```
2020-05-30 18:34:03 +02:00
Andre Miras
7a9bbeb9a8 ⬆️ Bumps to latest Cython version 2020-05-30 18:32:08 +02:00
Andre Miras
dccb7e82e3
Merge pull request #1129 from AndreMiras/feature/test_numeric_version
 Tests android.numeric_version config
2020-05-30 13:54:14 +02:00
Andre Miras
5dcc879bfb Tests android.numeric_version config
Follow-up for #1126
2020-05-30 00:47:18 +02:00
Andre Miras
a6d3b3ec56
Merge pull request #1127 from pavelsof/target-android-tests
TargetAndroid tests
2020-05-28 19:07:16 +02:00
pavelsof
9527f2ab96 Merge branch 'master' into target-android-tests 2020-05-28 18:39:51 +02:00
pavelsof
5b541de4d8 Refactored the TargetAndroid tests. 2020-05-28 18:36:52 +02:00
Andre Miras
5b00b613f9
Merge pull request #1126 from AndreMiras/feature/expose_p4a_numeric_version_param
 Adds p4a --numeric-version support
2020-05-27 22:17:51 +02:00
Andre Miras
a815afc5e0 Adds p4a --numeric-version support
This flag is available in p4a and can be useful to have buildozer side too.
Also refs #1079
2020-05-27 21:57:16 +02:00
Andre Miras
43214d4dd4
Merge pull request #1118 from AndreMiras/feature/linter_fixes
🗑️ Linter fixes and README.md update
2020-05-25 13:12:23 +02:00
Andre Miras
c0ccfda405 🗑️ Linter fixes and README.md update
Linter fixes:
- E123 closing bracket does not match indentation of opening bracket's line
- E125 continuation line with same indent as next logical line
- E231 missing whitespace after ','
- E265 block comment should start with '# '
- E302 expected 2 blank lines, found 1
- E305 expected 2 blank lines after class or function definition, found 1
- E731 do not assign a lambda expression, use a def
- F401 imported but unused
- F821 undefined name
- W605 invalid escape sequence

Also removes a Python 2 reference from the README.md
2020-05-20 22:37:37 +02:00
Andre Miras
4333b9c048
Merge pull request #1114 from AndreMiras/feature/python3_cleaning
🗑️ Removes Python 2 constructions
2020-05-18 23:35:53 +02:00
Andre Miras
10a2fb9848 🗑️ Removes Python 2 constructions
- Drops Python 2 imports
- Drops `if IS_PY3` constructions
- Drops `object` inheritance
- Drops `__future__` imports
- Drops `mocks` dependency
- Uses Python 3 `super()`
2020-05-18 23:09:51 +02:00
Andre Miras
ac6c339fe0 1.1.0 CHANGELOG.md 2020-05-18 22:37:15 +02:00
Andre Miras
9a9d591ec4
Merge pull request #1113 from AndreMiras/release/1.1.0
1.1.0
2020-05-18 22:32:36 +02:00
Andre Miras
a11f2b8b20 1.1.0 2020-05-18 22:14:52 +02:00
Andre Miras
bb5c0ccbde
Merge pull request #1106 from AndreMiras/feature/updates_install_dependencies
📚 Adds libssl-dev to the install dependencies
2020-05-18 20:57:27 +02:00
Gabriel Pettier
b677c8ed77
Merge pull request #1111 from kivy/tshirtman-patch-1
Update README.md
2020-05-18 00:04:12 +02:00
Gabriel Pettier
a69346af0a
Update README.md 2020-05-17 23:33:29 +02:00
Andre Miras
f700d80f79
Merge pull request #1107 from AndreMiras/feature/fix_docker_apt_caching
🐳 Fixes Docker apt cache missed
2020-05-17 13:54:14 +02:00
Andre Miras
008f494e11 🐳 Fixes Docker apt cache missed
Applies "cache busting" to avoid apt cache miss:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
The error was:
```
After this operation, 905 MB of additional disk space will be used.
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/f/file/libmagic-mgc_5.32-2ubuntu0.3_amd64.deb 404 Not Found [IP: 91.189.88.142 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/f/file/libmagic1_5.32-2ubuntu0.3_amd64.deb 404 Not Found [IP: 91.189.88.142 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/f/file/file_5.32-2ubuntu0.3_amd64.deb 404 Not Found [IP: 91.189.88.142 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_4.15.0-96.97_amd64.deb 404 Not Found [IP: 91.189.88.142 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/c/cups/libcups2_2.2.7-1ubuntu2.7_amd64.deb 404 Not Found [IP: 91.189.88.142 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/o/openldap/libldap-common_2.4.45+dfsg-1ubuntu1.4_all.deb 404 Not Found [IP: 91.189.88.142 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/o/openldap/libldap-2.4-2_2.4.45+dfsg-1ubuntu1.4_amd64.deb 404 Not Found [IP: 91.189.88.142 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/p/pulseaudio/libpulse0_11.1-1ubuntu7.5_amd64.deb 404 Not Found [IP: 91.189.88.142 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
```
2020-05-17 13:09:59 +02:00
Andre Miras
0ddf6e0909
Merge pull request #1105 from AndreMiras/feature/automate_pypi_release
💚 Automatically publish to PyPI upon tagging
2020-05-17 07:28:01 +02:00
Andre Miras
cf89c32042 📚 Adds libssl-dev to the install dependencies
Refs: https://github.com/kivy/python-for-android/pull/2205
2020-05-17 00:11:01 +02:00
Andre Miras
3d7f47e70b 💚 Automatically publish to PyPI upon tagging
New `pypi-release.yml` workflow for deploying to PyPI.
The scoped token is already setup in:
https://github.com/kivy/buildozer/settings/secrets

Also fixes `setup.py` classifier. The error was:
HTTPError: 400 Client Error: Invalid value for classifiers.
Error: Classifier 'Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8'
is not a valid classifier. for url: https://upload.pypi.org/legacy/

Tested by changing the version to an existing one and testing the upload:
```
Uploading distributions to https://upload.pypi.org/legacy/
Uploading buildozer-1.0-py3-none-any.whl
Uploading buildozer-1.0.tar.gz
HTTPError: 400 Client Error: File already exists.
See https://pypi.org/help/#file-name-reuse for url: https://upload.pypi.org/legacy/
```
https://github.com/AndreMiras/buildozer/runs/681413972
2020-05-16 22:02:24 +02:00
Andre Miras
1d707d9471
Merge pull request #1100 from AndreMiras/feature/full_integration_test
🚨 Build integration test
2020-05-16 15:31:09 +02:00
Andre Miras
446492f440
Merge pull request #1101 from hematogender/master
Fix punctuation and typo in README.md
2020-05-11 20:23:44 +02:00