12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- init:
- rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim
- rustup target add aarch64-apple-darwin x86_64-apple-darwin
- rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
- cargo install cbindgen
- cargo install cargo-ndk
- kotlin:
- $(JUST) ffi-kotlin-clean
- $(JUST) ffi-kotlin-generate
- ffi-kotlin-clean:
- find ./ffi/kotlin/jniLibs -name libcashu_sdk_ffi.so -type f -delete
- ffi-kotlin-generate:
- cargo run -p uniffi-bindgen generate src/cashu.udl --language kotlin --no-format -o ffi/kotlin
- android: aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
- aarch64-linux-android:
- cargo ndk -t aarch64-linux-android -o ffi/kotlin/jniLibs build --release
- armv7-linux-androideabi:
- $(JUST) ffi-ndk-build TARGET=armv7-linux-androideabi
- i686-linux-android:
- $(JUST) ffi-ndk-build TARGET=i686-linux-android
- x86_64-linux-android:
- $(JUST) ffi-ndk-build TARGET=x86_64-linux-android
- ffi-ndk-build:
- cargo ndk -t $(TARGET) -o ffi/kotlin/jniLibs build --release
- bindings-android:
- $(JUST) bindings-android-clean
- $(JUST) bindings-android-copy
- cd bindings-android && ./gradlew assemble
- $(JUST) bindings-android-package
- bindings-android-clean:
- rm -rf bindings-android/lib/src/main/jniLibs
- rm -rf bindings-android/lib/src/main/kotlin
- bindings-android-copy:
- cp -r ffi/kotlin/jniLibs bindings-android/lib/src/main
- cp -r ffi/kotlin/cashu bindings-android/lib/src/main/kotlin/
- bindings-android-package:
- mkdir -p ffi/android
- cp bindings-android/lib/build/outputs/aar/lib-release.aar ffi/android
- publish-android:
- cd bindings-android && ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
- python:
- rm -rf dist
- pip install -r bindings-python/requirements.txt
- cargo build --release
- cargo run -p uniffi-bindgen generate src/cashu.udl --language python --no-format -o bindings-python/src/cashu/
- cp ../../target/release/libcashu_ffi.so bindings-python/src/cashu/
- cp ../../target/release/libcashu_ffi.dylib bindings-python/src/cashu/ | true
- cd bindings-python && pip wheel --no-deps -w dist .
- pip install ./bindings-python/dist/cashu_protocol*.whl --force-reinstall
|