#!/usr/bin/env bash
set -euo pipefail
function _print_usage() {
echo "Usage: $0 [--no-container]"
echo ""
echo "Options:"
echo " --no-container To not source the dev container environment."
echo " -h,--help Print this help and exit."
}
while [[ "$#" -gt 0 ]]; do
case $1 in
-h | --help)
_print_usage
exit 0
;;
--no-container)
_no_container=1
;;
*) echo "Unknown parameter passed: $1"; _print_usage; exit 1 ;;
esac
shift
done
# Clean and load dev container
cd "$(dirname "$0")/.."
[[ -d ./build/uniffi ]] && rm -r ./build/uniffi/
if [[ -z ${_no_container+x} ]] ; then
source ./.devcontainer/env.sh -q
fi
# Ensure consistent target dir, even if `build.target-dir` config option is set for Cargo
export CARGO_TARGET_DIR=target
# Build library
cargo build --locked -F uniffi -p libthreema --release
# Generate Kotlin bindings
cargo run \
--locked \
-p uniffi-bindgen generate \
--library ./target/release/liblibthreema.so \
--language kotlin \
--out-dir ./build/uniffi/kotlin
# Generate Swift bindings
cargo run \
--locked \
-p uniffi-bindgen generate \
--library ./target/release/liblibthreema.so \
--language swift \
--out-dir ./build/uniffi/swift
# Unload dev container if it was started
if [[ -z ${_no_container+x} ]] ; then
deactivate --only-if-started
fi
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland