diff --git a/crates/client-ffi/scripts/build-single-target.sh b/crates/client-ffi/scripts/build-single-target.sh index 923d137..ab85fe3 100755 --- a/crates/client-ffi/scripts/build-single-target.sh +++ b/crates/client-ffi/scripts/build-single-target.sh @@ -12,14 +12,19 @@ case "$TARGET" in *) JNI_ABI="$TARGET" ;; esac +# Build for HOST target first cargo build -p holochain-client-ffi --release +cargo build -p uniffi-bindgen-cli --release +# Build for ANDROID target (this produces .so files and copies them to jniLibs) cargo ndk --manifest-path ./crates/client-ffi/Cargo.toml -t $TARGET \ -o libraries/client/src/main/jniLibs \ build --release -cargo run -p uniffi-bindgen-cli --release generate \ +# Run uniffi-bindgen directly (NOT via cargo run) to avoid triggering another +# cargo build that could invalidate the Android artifacts. +target/release/uniffi-bindgen-cli generate \ --library libraries/client/src/main/jniLibs/$JNI_ABI/libholochain_client_ffi.so \ --crate holochain_client_ffi \ --out-dir libraries/client/src/main/java/ \ - --language kotlin + --language kotlin \ No newline at end of file diff --git a/crates/client-ffi/scripts/build.sh b/crates/client-ffi/scripts/build.sh index 542347f..a8fdf5b 100755 --- a/crates/client-ffi/scripts/build.sh +++ b/crates/client-ffi/scripts/build.sh @@ -1,14 +1,19 @@ #!/usr/bin/env bash set -euo pipefail +# Build for HOST target first cargo build -p holochain-client-ffi --release +cargo build -p uniffi-bindgen-cli --release +# Build for ANDROID targets (this produces .so files and copies them to jniLibs) cargo ndk --manifest-path ./Cargo.toml -t arm64-v8a -t x86 -t x86_64 \ -o libraries/client/src/main/jniLibs \ build --release -cargo run -p uniffi-bindgen-cli --release generate \ +# Run uniffi-bindgen directly (NOT via cargo run) to avoid triggering another +# cargo build that could invalidate the Android artifacts. +target/release/uniffi-bindgen-cli generate \ --library libraries/client/src/main/jniLibs/arm64-v8a/libholochain_client_ffi.so \ --crate holochain_client_ffi \ --out-dir libraries/client/src/main/java/ \ - --language kotlin + --language kotlin \ No newline at end of file