Skip to content

Minor refactoring

Minor refactoring #2

Workflow file for this run

name: Build Library
env:
CARGO_TERM_COLOR: always
on: push
jobs:
build-library:
name: Build Core Library and Kotlin Bindings
strategy:
matrix:
platform:
# - release_for: Android-aarch64
# os: ubuntu-20.04
# target: aarch64-linux-android
# bin: ark-core
# name: ark-core-Android-aarch64.zip
# command: build
# - release_for: Android-armv7
# os: ubuntu-20.04
# target: armv7-linux-androideabi
# bin: ark-core
# name: ark-core-Android-armv7.zip
# command: build
# - release_for: Android-i686
# os: ubuntu-20.04
# target: i686-linux-android
# bin: ark-core
# name: ark-core-Android-i686.zip
# command: build
- release_for: Android-ax86_64
os: ubuntu-22.04
target: x86_64-linux-android
bin: ark-core
name: ark-core-Android-ax86_64.zip
outputDir: ./target/x86_64-linux-android/debug
command: build
runs-on: ${{ matrix.platform.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: install dependencies (ubuntu only)
if: matrix.settings.platform == 'ubuntu-22.04' # This must match the platform value defined above.
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Rust cache
uses: swatinem/rust-cache@v2
- name: Add Rust Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: ${{ matrix.platform.target }}
- name: Install Cross
run: cargo install cross --git https://github.com/cross-rs/cross
- name: Build Core Library
run: cross ${{ matrix.platform.command }} -p drop_core --target ${{ matrix.platform.target }}
- name: Generate Bindings
run: cargo run -p uniffi-bingen generate --library ${{ matrix.platform.outputDir }}/libdrop_core.so --language=kotlin --out-dir ./bindings
- name: Upload Library
uses: actions/upload-artifact@v4
with:
name: ark-drop-core
path: ${{ matrix.platform.outputDir }}/libdrop_core.so
- name: Upload Bindings
uses: actions/upload-artifact@v4
with:
name: ark-drop-bindings
path: ./bindings