Add support for build rust dylib

This commit is contained in:
tarsin committed 2023-06-12 11:01:18 +08:00
1 parent 9f78b69390
commit 942abd7dbb
9 files changed
+46 -2

No files matched your search

+3
View File
@@ -27,6 +27,9 @@ jobs:
run: |
echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;25.2.9519653" --sdk_root=${ANDROID_SDK_ROOT} &> /dev/null
- name: Install Rust Toolchain
run: rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
- name: Ktlint Check
run: ./gradlew ktlintCheck
+4 -1
View File
@@ -1,6 +1,6 @@
name: Pull Request Check
on: [pull_request]
on: [ pull_request ]
jobs:
linux:
@@ -22,6 +22,9 @@ jobs:
run: |
echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;25.2.9519653" --sdk_root=${ANDROID_SDK_ROOT} &> /dev/null
- name: Install Rust Toolchain
run: rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
- name: Ktlint Check
run: ./gradlew ktlintCheck
+4 -1
View File
@@ -25,6 +25,9 @@ jobs:
run: |
echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;25.2.9519653" --sdk_root=${ANDROID_SDK_ROOT} &> /dev/null
- name: Install Rust Toolchain
run: rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
- name: Gradle Build
uses: gradle/gradle-build-action@v2
with:
@@ -60,7 +63,7 @@ jobs:
- name: Push Apks
uses: Ehviewer-Overhauled/github-action-push-to-another-repository@main
env:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
with:
source-directory: app/build/outputs/apk/release/fdroid
destination-github-username: Ehviewer-Overhauled
+15
View File
@@ -14,6 +14,7 @@ plugins {
kotlin("plugin.serialization")
id("com.google.devtools.ksp")
id("com.mikepenz.aboutlibraries.plugin")
id("org.mozilla.rust-android-gradle.rust-android")
}
android {
@@ -263,3 +264,17 @@ aboutLibraries {
duplicationMode = MERGE
duplicationRule = GROUP
}
cargo {
module = "src/main/rust"
libname = "ehviewer_rust"
targets = listOf("arm", "x86", "arm64", "x86_64")
}
tasks.whenObjectAdded {
if ((this.name == "mergeDebugJniLibFolders" || this.name == "mergeReleaseJniLibFolders")) {
this.dependsOn("cargoBuild")
// fix mergeDebugJniLibFolders UP-TO-DATE
this.inputs.dir(buildDir.resolve("rustJniLibs/android"))
}
}
+1
View File
@@ -0,0 +1 @@
/target
+7
View File
@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "ehviewer_rust"
version = "0.1.0"
+8
View File
@@ -0,0 +1,8 @@
[package]
name = "ehviewer_rust"
version = "0.1.0"
[lib]
crate_type = ["staticlib", "dylib"]
[dependencies]
+3
View File
@@ -0,0 +1,3 @@
fn main() {
println!("");
}
+1
View File
@@ -17,5 +17,6 @@ tasks.register("Delete", Delete::class) {
buildscript {
dependencies {
classpath("com.android.tools:r8:8.2.12-dev")
classpath("org.mozilla.rust-android-gradle:plugin:0.9.3")
}
}