A test Kotlin Multiplatform watchOS app that sends requests to https://example.com using Reqwest and Tokio.
A modified version of Gobley 0.3.7 is required to build this app. Here's the required modification and the instruction to run the app:
-
Checkout to gobley/gobley#244.
-
Change the plugin versions from 0.3.7 to 0.3.8-snapshot.
The diff
diff --git a/Cargo.lock b/Cargo.lock index 2b1f4d48..ab3c9c6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1158,7 +1158,7 @@ dependencies = [ [[package]] name = "gobley-uniffi-bindgen" -version = "0.3.7" +version = "0.3.8-snapshot.20251011.0" dependencies = [ "anyhow", "askama", @@ -1176,7 +1176,7 @@ dependencies = [ [[package]] name = "gobley-wasm-transformer" -version = "0.3.7" +version = "0.3.8-snapshot.20251011.0" dependencies = [ "anyhow", "askama", diff --git a/crates/gobley-uniffi-bindgen/Cargo.toml b/crates/gobley-uniffi-bindgen/Cargo.toml index 0f577bc9..1f9aa9e2 100644 --- a/crates/gobley-uniffi-bindgen/Cargo.toml +++ b/crates/gobley-uniffi-bindgen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gobley-uniffi-bindgen" -version = "0.3.7" +version = "0.3.8-snapshot.20251011.0" edition = "2021" authors = ["Gobley Contributors"] description = "A UniFFI Kotlin Multiplatform bindings generator for Rust" diff --git a/crates/gobley-wasm-transformer/Cargo.toml b/crates/gobley-wasm-transformer/Cargo.toml index 099ef6e0..384d6f9d 100644 --- a/crates/gobley-wasm-transformer/Cargo.toml +++ b/crates/gobley-wasm-transformer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gobley-wasm-transformer" -version = "0.3.7" +version = "0.3.8-snapshot.20251011.0" edition = "2021" authors = ["Gobley Contributors"] description = "WebAssembly module transformation for Kotlin interoperability" diff --git a/gradle.properties b/gradle.properties index 0c34f800..c145bf8f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # Gradle org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -org.gradle.configuration-cache=true -org.gradle.caching=true +org.gradle.configuration-cache=false +org.gradle.caching=false # Kotlin kotlin.code.style=official @@ -12,12 +12,12 @@ kotlin.mpp.enableCInteropCommonization=true android.useAndroidX=true # Gobley -gobley.projects.gradleTests=true -gobley.projects.uniffiTests=true -gobley.projects.uniffiTests.extTypes=true -gobley.projects.uniffiTests.futures=true -gobley.projects.examples.app=true -gobley.projects.examples.audioCppApp=true -gobley.projects.examples.customTypes=true -gobley.projects.examples.tokioBlake3App=true -gobley.projects.examples.tokioBoringApp=true \ No newline at end of file +gobley.projects.gradleTests=false +gobley.projects.uniffiTests=false +gobley.projects.uniffiTests.extTypes=false +gobley.projects.uniffiTests.futures=false +gobley.projects.examples.app=false +gobley.projects.examples.audioCppApp=false +gobley.projects.examples.customTypes=false +gobley.projects.examples.tokioBlake3App=false +gobley.projects.examples.tokioBoringApp=false \ No newline at end of file
-
Publish the plugins locally.
./gradlew :build-logic:gobley-gradle:publishToMavenLocal ./gradlew :build-logic:gobley-gradle-cargo:publishToMavenLocal ./gradlew :build-logic:gobley-gradle-rust:publishToMavenLocal ./gradlew :build-logic:gobley-gradle-uniffi:publishToMavenLocal -
Open the Xcode project and run the app.
| Apple Watch SE 2 |
|---|
![]() |
| Apple Watch SE 3 Simulator |
|---|
![]() |





