Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/cont_integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.85.0
with:
targets: x86_64-apple-ios,aarch64-apple-ios,aarch64-apple-ios-sim
targets: x86_64-apple-ios,aarch64-apple-ios,aarch64-apple-ios-sim,aarch64-apple-darwin
- uses: extractions/setup-just@v2
with:
just-version: 1.5.0 # optional semver specification, otherwise latest
Expand Down
14 changes: 13 additions & 1 deletion justfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ android: aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64
cp -a target/release/android/jniLibs lwk_bindings/android_bindings/lib/src/androidMain

# Build the kotlin multiplatform interface and android, ios and jvm
kotlin-multiplatform: ios ios-sim android
kotlin-multiplatform: ios ios-sim android jvm
cargo install --bin gobley-uniffi-bindgen gobley-uniffi-bindgen@0.2.0
gobley-uniffi-bindgen --config ./lwk_bindings/uniffi.kotlin-multiplatform.toml --library target/aarch64-apple-ios/release/liblwk.a --out-dir target/release/kotlin-multiplatform
cp -a target/release/kotlin-multiplatform/* lwk_bindings/android_bindings/lib/src/
Expand All @@ -64,6 +64,18 @@ kotlin-multiplatform: ios ios-sim android
cp target/aarch64-apple-ios/release/liblwk.a lwk_bindings/android_bindings/lib/src/libs/ios-arm64/
cp target/lipo-ios-sim/release/liblwk.a lwk_bindings/android_bindings/lib/src/libs/ios-simulator-arm64/

jvm: aarch64-apple-darwin # x86_64-unknown-linux-gnu
mkdir -p lwk_bindings/android_bindings/lib/src/jvmMain/resources/darwin-aarch64
cp -a target/aarch64-apple-darwin/release/liblwk.dylib lwk_bindings/android_bindings/lib/src/jvmMain/resources/darwin-aarch64/

# Build aarch64-apple-darwin
aarch64-apple-darwin:
MACOSX_DEPLOYMENT_TARGET=11.0 cargo build --release --target aarch64-apple-darwin -p lwk_bindings

# Build x86_64-unknown-linux-gnu
x86_64-unknown-linux-gnu:
cargo build --release --target x86_64-unknown-linux-gnu -p lwk_bindings

# Build ios (works only on mac)
ios: aarch64-apple-ios

Expand Down
1 change: 1 addition & 0 deletions lwk_bindings/android_bindings/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
.cxx
local.properties
*.so
*.dylib
*.a
.kotlin

Expand Down
8 changes: 4 additions & 4 deletions lwk_bindings/android_bindings/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[versions]
annotation = "1.9.1"
kotlin = "2.2.20"
kotlin = "2.2.21"
kotlinx-serialization = "1.9.0"
kotlinx-coroutines = "1.10.2"
android-gradle-plugin = "8.13.0"
okio = "3.16.0"
android-gradle-plugin = "8.13.1"
okio = "3.16.2"
espresso = "3.7.0"
jna = "5.18.1"
junit = "4.13.2"
junit-ext = "1.3.0"
maven-publish = "0.34.0"
maven-publish = "0.35.0"
atomicfu = "0.29.0"

[libraries]
Expand Down
10 changes: 10 additions & 0 deletions lwk_bindings/android_bindings/lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,13 @@ mavenPublishing {
extensions.configure<SigningExtension> {
useGpgCmd()
}

// Do not require signing when publishing to Maven Local
// Allows `./gradlew publishToMavenLocal` (or `publishToLocalMaven`) without GPG setup
tasks.withType<Sign>().configureEach {
onlyIf {
val taskNames = gradle.startParameter.taskNames
// Skip signing if the build is targeting the local Maven repository
taskNames.none { it.contains("publishToMavenLocal", ignoreCase = true) || it.contains("publishToLocalMaven", ignoreCase = true) }
}
}
Loading