Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
mhsmith committed Jan 29, 2023
1 parent dd684d9 commit 91f906d
Show file tree
Hide file tree
Showing 20 changed files with 73 additions and 30 deletions.
49 changes: 49 additions & 0 deletions product/runtime/docs/sphinx/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,55 @@ Change log

.. towncrier release notes start
14.0.2 (2023-01-29)
===================

Backward incompatible
---------------------

- :ref:`buildPython` must now be at least Python 3.7. (`#713
<https://github.com/chaquo/chaquopy/issues/713>`__)


Features
--------

- `sys.stdout` and `sys.stderr` are now line-buffered by default. (`#654
<https://github.com/chaquo/chaquopy/issues/654>`__, `#746
<https://github.com/chaquo/chaquopy/issues/746>`__, `#757
<https://github.com/chaquo/chaquopy/issues/757>`__)
- Add option to `redirect native stdout and stderr to Logcat
<java/com/chaquo/python/android/AndroidPlatform.html#redirectStdioToLogcat-->`__.
(`#725 <https://github.com/chaquo/chaquopy/issues/725>`__)
- Update to Python version 3.8.16 and OpenSSL version 1.1.1s. This fixes the
Google Play warning "Your app uses a defective version of the OpenSSL
library". (`#727 <https://github.com/chaquo/chaquopy/issues/727>`__)
- Update CA bundle to certifi 2022.12.7. (`#747
<https://github.com/chaquo/chaquopy/issues/747>`__)
- Add `python` executable as a final fallback when searching for buildPython.
(`#752 <https://github.com/chaquo/chaquopy/issues/752>`__)
- Restore the `extractPackages` setting, for code that requires its modules to
exist as separate .py files. (`#754
<https://github.com/chaquo/chaquopy/issues/754>`__)
- Android Gradle plugin version 7.4 is now supported. (`#756
<https://github.com/chaquo/chaquopy/issues/756>`__)
- Update to pip version 20.1.


Bugfixes
--------

- Enable PEP 517 builds in pip. (`#715
<https://github.com/chaquo/chaquopy/issues/715>`__)
- Show correct error message when buildPython autodetection fails. (`#733
<https://github.com/chaquo/chaquopy/issues/733>`__)
- Fix error when calling `entry_points` with an unreadable directory on
`sys.path`. (`#755 <https://github.com/chaquo/chaquopy/issues/755>`__)
- Fix "Could not find an activated virtualenv" error when
`PIP_REQUIRE_VIRTUALENV` environment variable is set. (`#777
<https://github.com/chaquo/chaquopy/issues/777>`__)


13.0.0 (2022-11-06)
===================

Expand Down

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/654.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/713.removal.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/715.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/725.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/727.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/733.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/746.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/747.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/752.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/754.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/755.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/756.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/757.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion product/runtime/docs/sphinx/changes/777.bugfix.rst

This file was deleted.

2 changes: 1 addition & 1 deletion product/runtime/docs/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
#
# Chaquopy: this is no longer auto-generated from VERSION.txt, because that made it awkward to
# release documentation updates between versions.
release = "13.0.0"
release = "14.0.2"
# The short X.Y version.
version = release.rpartition(".")[0]

Expand Down
2 changes: 2 additions & 0 deletions product/runtime/docs/sphinx/versions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Version summary
| | |Gradle plugin |level |
| | |versions | |
+===================+===================+===================+===================+
|14.0 | |4.1 - 7.4 | |
+-------------------+ +-------------------+ +
|13.0 |3.8 - 3.11 |4.1 - 7.3 |21 |
+-------------------+-------------------+-------------------+-------------------+
|12.0 | |4.1 - 7.2 | |
Expand Down
30 changes: 17 additions & 13 deletions release/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ conditions:
could prevent users importing classes in the Python console).
* Change back to "debug" variant, and test a single-ABI build by temporarily changing
abiFilters.
* Re-enable all ABIs.

Run Build > Generate Signed APK with the "release" variant. Save a copy of this APK,
because we'll be releasing it on Google Play later.
Expand All @@ -43,13 +44,14 @@ Test all the non-default Python versions on the same devices.

## Gradle plugin

On one test machine, run `gradlew -P cmakeBuildType=Release publish`. Then copy `gradle`,
`runtime` and (if necessary) `target` to the other machines. On those other machines, to make
sure the artifacts are not overwritten, temporarily disable the `dependsOn publish` line in
`gradle-plugin/build.gradle`.
On one test machine, run `gradlew -P cmakeBuildType=Release publish`. Then, on each test
machine:

On each test machine, pull the current version of this repository, then run `gradlew --continue
-P cmakeBuildType=Release gradle:check`.
* Copy `gradle`, `runtime` and (if necessary) `target` from the first test machine.
* Pull the current version of this repository.
* To make sure the artifacts are not overwritten, temporarily disable the `dependsOn
publish` line in `gradle-plugin/build.gradle`.
* Run `gradlew --continue -P cmakeBuildType=Release gradle:check`.


## Package tests
Expand All @@ -61,7 +63,8 @@ install it while running the next build. This is why we test the slowest devices
Temporarily edit pkgtest/app/build.gradle to replace the empty list in the `addPackages`
line with `PACKAGE_GROUPS[1]`.

Set `abiFilters` to each of the following values, and test on a corresponding device:
Set `abiFilters` to each of the following values (this tests the single-ABI case), and
test on a corresponding device:

* armeabi-v7a (use a 32-bit device)
* arm64-v8a
Expand Down Expand Up @@ -99,12 +102,9 @@ repository from which the public repositories were last updated.

If the script reports any files which require manual merging (e.g. build.gradle), examine them
and update all the public repositories as necessary.
* The public apps should use the newest Android Gradle plugin version which is at least one
year old. Not newer, because new versions of AGP are incompatible with old versions of
Android Studio
* The public apps should use an Android Gradle plugin version which is at least one year
old, because new versions of AGP are incompatible with old versions of Android Studio
(https://android-developers.googleblog.com/2020/12/announcing-android-gradle-plugin.html).
And not older, otherwise it'll be impossible to use the webserver logs to determine when it's
safe to remove support for it.
* If updating the AGP version, also update to the corresponding versions of these things
(see the integration tests):
* Gradle
Expand All @@ -122,8 +122,12 @@ Set reminder to check for Google Play crash reports regularly over the next mont

## Documentation

Add news fragments as necessary, and check the release notes by running `towncrier build
--version VERSION --draft`. Once happy, save the fragments in a separate commit, because
they'll be deleted when running `towncrier` in non-draft mode.

Update:
* `changelog.rst`
* `changelog.rst`, by running the above `towncrier` command without `--draft`.
* `versions.rst`
* `release` in `conf.py`

Expand Down
5 changes: 4 additions & 1 deletion release/release_public.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ new_ver=${2:?"$usage"}
private_src_dir="demo/app/src"

update_version() {
sed -i -E "s/(com.chaquo.python.+version ')[0-9.]+/\1${new_ver}/" "$1"
# We can't use `sed -i` with no argument, because macOS and Linux handle that in
# incompatible ways.
sed -i.original -E "s/(com.chaquo.python.+version ')[0-9.]+/\1${new_ver}/" "$1"
rm "$1.original"
}


Expand Down

0 comments on commit 91f906d

Please sign in to comment.