2022-07-25 10:46:18 +02:00
|
|
|
# qt-android
|
|
|
|
|
2022-07-29 09:08:16 +02:00
|
|
|
A drone plugin for building Qt apps for Android.
|
|
|
|
|
|
|
|
# Usage
|
|
|
|
|
|
|
|
The following settings changes this plugin's behavior.
|
|
|
|
|
|
|
|
* qmake_arguments (optional) additional arguments for qmake.
|
|
|
|
* androiddeployqt_arguments (optional) additional arguments for androiddeployqt.
|
2022-08-04 17:32:24 +02:00
|
|
|
* src_dir (optional) the path to the source directory
|
|
|
|
* android_keystore_path (optional) the path to the android_keystore file.
|
2022-08-04 18:36:47 +02:00
|
|
|
* android_keystore_data (optional, secret recommended) the keystore file encoded as base64. If set, android_keystore_path will be ignored!
|
|
|
|
* android_keystore_alias (required, if android_keystore_path or android_keystore_data is set) the keystore alias.
|
2022-08-04 17:32:24 +02:00
|
|
|
* android_keystore_store_pass (optional, secret recommended) the password for the keystore.
|
2022-07-29 09:08:16 +02:00
|
|
|
|
|
|
|
Below is an example `.drone.yml` that uses this plugin.
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
kind: pipeline
|
|
|
|
name: default
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: run itsblue.dev/plugins/qt-android plugin
|
|
|
|
image: itsblue.dev/plugins/qt-android
|
|
|
|
pull: if-not-exists
|
|
|
|
settings:
|
2022-08-04 17:32:24 +02:00
|
|
|
qmake_arguments: "CONFIG+=release"
|
|
|
|
androiddeployqt_arguments: "--aab"
|
|
|
|
src_dir: "."
|
2022-08-04 18:36:47 +02:00
|
|
|
android_keystore_data:
|
|
|
|
from_secret: android_keystore_data
|
2022-08-04 17:32:24 +02:00
|
|
|
android_keystore_alias: "foo"
|
|
|
|
android_keystore_store_pass:
|
|
|
|
from_secret: android_keystore_store_pass
|
2022-07-29 09:08:16 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
# Building
|
|
|
|
|
|
|
|
Build the plugin image:
|
|
|
|
|
2022-08-04 17:32:24 +02:00
|
|
|
```bash
|
2022-07-29 09:08:16 +02:00
|
|
|
docker build -t itsblue.dev/plugins/qt-android -f Dockerfile .
|
|
|
|
```
|
|
|
|
|
|
|
|
# Testing
|
|
|
|
|
|
|
|
Execute the plugin from your current working directory:
|
|
|
|
|
2022-08-04 17:32:24 +02:00
|
|
|
```bash
|
2022-07-29 09:17:04 +02:00
|
|
|
docker run --rm \
|
2022-07-29 09:08:16 +02:00
|
|
|
-e DRONE_COMMIT_SHA=8f51ad7884c5eb69c11d260a31da7a745e6b78e2 \
|
|
|
|
-e DRONE_COMMIT_BRANCH=master \
|
|
|
|
-e DRONE_BUILD_NUMBER=43 \
|
|
|
|
-e DRONE_BUILD_STATUS=success \
|
2022-08-04 17:32:24 +02:00
|
|
|
-e PLUGIN_QMAKE_ARGUMENTS="CONFIG+=release" \
|
|
|
|
-e PLUGIN_ANDROIDDEPLOYQT_ARGUMENTS="--aab" \
|
|
|
|
-e PLUGIN_SRC_DIR="." \
|
|
|
|
-e PLUGIN_ANDROID_KEYSTORE_PATH="android_release.keystore" \
|
|
|
|
-e PLUGIN_ANDROID_KEYSTORE_ALIAS="foo" \
|
|
|
|
-e PLUGIN_ANDROID_KEYSTORE_STORE_PASS="strong_password" \
|
2022-07-29 09:08:16 +02:00
|
|
|
-w /drone/src \
|
|
|
|
-v $(pwd):/drone/src \
|
|
|
|
itsblue.dev/plugins/qt-android
|
|
|
|
```
|
2022-08-02 23:19:03 +02:00
|
|
|
|
|
|
|
# Using openssl
|
|
|
|
|
|
|
|
This image includes [prebuilt openssl libraries](https://github.com/KDAB/android_openssl). You may include them in your .pro file like so:
|
|
|
|
```pro
|
|
|
|
android {
|
|
|
|
ANDROID_HOME = $$(ANDROID_HOME)
|
|
|
|
include($$ANDROID_HOME/android_openssl/openssl.pri)
|
|
|
|
}
|
|
|
|
```
|