Our docs currently recommend two ways of building consuming apps against
local changes to this repo: an automated-but-perpetually-buggy composite build
workflow, and a reliable-but-tedious manual workflow of publishing to a local
maven repo.
This commit removes them both and replaces them with something similar to
the workflow used by android-components: some scripting to automate publishing
to and consuming from a local maven repo.
This patch adds:
* Kotlin FFI integration with unit tests
* simplifies decryption to accept raw header values
* adds new storage system
Closes #693, #544, #543, #542
* Implement a bridge from the rust log crate to android.
* Ensure we still have logs available in non-megazord contexts
* Changelog entry
* Gradle plugin bump to 0.3.0
* Android version bump to v0.14.0
The real advantage here is that the newer `maven-publish` plugin has
some support for multiple publications in a single Gradle project, and
we need that:
- for unit test specific archives (native code built for desktop hosts)
- for component libraries that don't have native libraries but are
glued together into composites
This just paves the way for those changes.
There are two project layouts possible. One is that each sub-project
is its own Gradle project with its own copy of the Gradle wrapper,
project configurations, etc. The other is that there's one
multi-project with sub-Gradle projects.
Generally the multi-project approach, even for decoupled projects, is
simpler. The `android-components` repository uses it, even though its
projects are very explicitly decoupled in most cases.