From 05e21e35717723c46f66ee3ea244efde67ef671a Mon Sep 17 00:00:00 2001 From: Darius Maitia Date: Fri, 6 Oct 2023 15:32:37 +0200 Subject: [PATCH] Fix CI + edit README --- .github/workflows/ci.yml | 16 ++++++++++------ .github/workflows/release.yml | 13 ++++++++----- README.md | 3 ++- jvm.png | Bin 0 -> 30492 bytes zenoh-kotlin/build.gradle.kts | 2 ++ 5 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 jvm.png diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 131396911..c85f3fb84 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,15 @@ jobs: with: distribution: temurin java-version: 11 - + + - uses: nttld/setup-ndk@v1 + id: setup-ndk + with: + ndk-version: r26 + add-to-path: false +# local-cache: true + link-to-sdk: true + - name: Install Rust uses: actions-rs/toolchain@v1 with: @@ -53,9 +61,5 @@ jobs: working-directory: zenoh-jni run: cargo build --verbose - - name: Cargo Test - working-directory: zenoh-jni - run: cargo test --verbose -- --nocapture - - name: Gradle Test - run: gradle jvmTest + run: gradle jvmTest --info diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1eb384188..364bcd88b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,6 +27,13 @@ jobs: distribution: temurin java-version: 11 + - uses: nttld/setup-ndk@v1 + id: setup-ndk + with: + ndk-version: r26 + add-to-path: false + link-to-sdk: true + - name: Install Rust uses: actions-rs/toolchain@v1 with: @@ -48,12 +55,8 @@ jobs: working-directory: zenoh-jni run: cargo build --verbose - - name: Cargo Test - working-directory: zenoh-jni - run: cargo test --verbose -- --nocapture - - name: Gradle Test - run: gradle jvmTest + run: gradle jvmTest --info build_doc_and_deploy: name: Build and Deploy Documentation diff --git a/README.md b/README.md index ddadc4883..be9688ad6 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ Basically: * Rust ([Installation guide](https://doc.rust-lang.org/cargo/getting-started/installation.html)) * Kotlin ([Installation guide](https://kotlinlang.org/docs/getting-started.html#backend)) * Gradle ([Installation guide](https://gradle.org/install/)) +* Android SDK ([Installation guide](https://developer.android.com/about/versions/11/setup-sdk)) ## Android Android @@ -115,7 +116,7 @@ And finally, do not forget to add the required internet permissions on your mani And that was it! You can now import the code from the `io.zenoh` package and use it at your will. -## JVM +## JVM JVM To publish a library for a JVM project into Maven local, run diff --git a/jvm.png b/jvm.png new file mode 100644 index 0000000000000000000000000000000000000000..07f1b123cc01049d101042e1244e36bcc142424d GIT binary patch literal 30492 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