This repository includes the Android app (androidApp) and the shared KMM module (shared) for the WaiterRobot App. The iOS app can be found here.
The shared module is published as an SPM package and Java/Android library to the GitHub Package Registry. For this the KMMBridge tool is used.
For local development the Android module directly depends on the local shared version (gradle project dependency). When releasing the published library version is used.
For a guide to use a local version of the KMM module see KMMBridge local dev spm
The main branch contains the Package.swift
file ready for local dev.
./gradlew spmDevBuild
(must be run after each change in the KMM module)Production release is triggered on push to main. The CI then builds the app and deploys it to
the internal
Track on Google Play. After testing the app then must be promoted to production
manually from there. A tag in the form of android/major.minor.patch
(e.g. android/1.0.0) is
created. (see publishAndroid.yml)
Do not forget to bump the android version (version.properties) on the dev branch after a production release was made.
On each push to develop a lava (dev) build is triggered and published to internal
track of
the WaiterRobot Lava app on Google Play. A tag in the form
of android/major.minor.patch-lava-epochMinutes
is created (e.g. android/1.0.1-lava-27935730). (
see publishAndroid.yml)
A release is triggered on push to main or develop (only when shared module changed). The CI then
builds the shared Xcode Framework (Swift Package) and the shared Android library. Both artifacts
are uploaded to the GitHub Package registry. A tag in the form of major.minor.patch
(
e.g. 1.0.0) is created. (see publishShared.yml)
Unfortunately SPM does not support custom tag prefixes (e.g. shared/1.0.0) and kmmbridge does not support tag suffixes (without creating a custom release action). Therefor the currently the no shared identifier is added to the tag of shared releases.
link |
Stars: 4 |
Last commit: 13 hours ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics