Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

A test Kotlin Multiplatform watchOS app that sends requests to https://example.com using Reqwest and Tokio

Notifications You must be signed in to change notification settings

gobley/test-watchos-reqwest-tokio

Repository files navigation

watchOS Reqwest + Tokio test app

A test Kotlin Multiplatform watchOS app that sends requests to https://example.com using Reqwest and Tokio.

How to run

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:

  1. Checkout to gobley/gobley#244.

  2. 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
  3. 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
    
  4. Open the Xcode project and run the app.

Results

Apple Watch SE 2
Apple Watch SE 3 Simulator

About

A test Kotlin Multiplatform watchOS app that sends requests to https://example.com using Reqwest and Tokio

Resources

Stars

Watchers

Forks