Skip to content

project-minigraf/minigraf-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minigraf-android

Android binding for Minigraf — zero-config, single-file, embedded bi-temporal graph database with Datalog queries.

Installation

dependencies {
    implementation("io.github.project-minigraf:minigraf-android:1.2.0")
}

Minimum SDK: 24 (Android 7.0). Supports arm64-v8a, armeabi-v7a, x86_64.

Quick start

import uniffi.minigraf_ffi.MiniGrafDb

val db = MiniGrafDb.openInMemory()
val result = db.execute("""(transact [[:alice :name "Alice"]])""")
println(result)  // {"transacted":1}

Building from source

Requires Rust stable toolchain, Android NDK, and JDK 17.

cargo install cargo-ndk --locked
cargo ndk -t arm64-v8a -t armeabi-v7a -t x86_64 -o android/jniLibs build --release
cargo run --bin uniffi-bindgen -- generate \
  --library target/aarch64-linux-android/release/libminigraf_ffi.so \
  --language kotlin \
  --out-dir android/src/main/java/
cd android && ./gradlew assembleRelease

Cascade release

This repo receives a core-release repository_dispatch from the minigraf monorepo cascade whenever a new version of the minigraf core crate is published. The release workflow pins the new version, builds JNI libraries for all Android ABIs, and publishes the AAR to Maven Central.

License

MIT OR Apache-2.0

About

Android binding for Minigraf — bi-temporal graph database

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages