Skip to content

Commit cb57ff4

Browse files
author
matrixdev
committed
changed plugin id
changed version to 0.2.1
1 parent a22c8a9 commit cb57ff4

File tree

8 files changed

+30
-13
lines changed

8 files changed

+30
-13
lines changed

example/app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id("com.android.application")
33
id("org.jetbrains.kotlin.android")
4-
id("dev.matrix.android-rust")
4+
id("io.github.MatrixDev.android-rust")
55
}
66

77
android {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/target
2+
/Cargo.lock
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[package]
2+
name = "rust_library"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
[lib]
7+
crate-type = ["cdylib"]
8+
9+
[dependencies]
10+
jni = "0.19.0"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
use jni::JNIEnv;
2+
use jni::objects::JObject;
3+
use jni::sys::jstring;
4+
5+
#[no_mangle]
6+
extern fn Java_dev_matrix_rust_MainActivity_callRustCode(env: JNIEnv, _: JObject) -> jstring {
7+
env.new_string("hello from rust").unwrap().into_inner()
8+
}

example/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ buildscript {
99
dependencies {
1010
classpath("com.android.tools.build:gradle:7.2.2")
1111
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
12-
classpath("dev.matrix.android-rust:plugin:*")
12+
classpath("io.github.MatrixDev.android-rust:plugin:*")
1313
}
1414
}
1515

example/settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ include(":app")
44

55
includeBuild("..") {
66
dependencySubstitution {
7-
substitute(module("dev.matrix.android-rust:plugin")).using(project(":plugin"))
7+
substitute(module("io.github.MatrixDev.android-rust:plugin")).using(project(":plugin"))
88
}
99
}

plugin/build.gradle.kts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ plugins {
55
id("com.gradle.plugin-publish") version "1.1.0"
66
}
77

8-
group = "dev.matrix.android-rust"
9-
version = "0.2.0"
8+
group = "io.github.MatrixDev.android-rust"
9+
version = "0.2.1"
1010

1111
java {
1212
sourceCompatibility = JavaVersion.VERSION_11
@@ -21,13 +21,13 @@ repositories {
2121
pluginBundle {
2222
website = "https://github.com/MatrixDev/GradleAndroidRustPlugin"
2323
vcsUrl = "https://github.com/MatrixDev/GradleAndroidRustPlugin.git"
24-
tags = listOf("android", "rust")
24+
tags = listOf("android", "rust", "jni")
2525
}
2626

2727
gradlePlugin {
2828
plugins {
29-
create("androidRustPlugin") {
30-
id = "dev.matrix.android-rust"
29+
create("androidRust") {
30+
id = "io.github.MatrixDev.android-rust"
3131
implementationClass = "dev.matrix.agp.rust.AndroidRustPlugin"
3232
displayName = "Plugin for building Rust with Cargo in Android projects"
3333
description = "A plugin that helps build Rust JNI libraries with Cargo for use in Android projects."

plugin/src/main/java/dev/matrix/agp/rust/AndroidRustPlugin.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import java.util.*
1515
// TODO: migrate to variant API with artifacts when JNI will be supported
1616
// https://developer.android.com/studio/build/extend-agp#access-modify-artifacts
1717
//
18-
@Suppress("unused")
18+
@Suppress("unused", "UnstableApiUsage")
1919
class AndroidRustPlugin : Plugin<Project> {
2020
override fun apply(project: Project) {
2121
val extension = project.extensions.create("androidRust", AndroidRustExtension::class.java)
@@ -61,10 +61,7 @@ class AndroidRustPlugin : Plugin<Project> {
6161
tasksByBuildType.getOrPut(buildType.name, ::ArrayList).add(buildTask)
6262
}
6363

64-
val sourceSet = dsl.sourceSets.findByName(buildType.name)
65-
if (sourceSet != null) {
66-
sourceSet.jniLibs.srcDir(variantJniLibsDirectory)
67-
}
64+
dsl.sourceSets.findByName(buildType.name)?.jniLibs?.srcDir(variantJniLibsDirectory)
6865
}
6966

7067
installRustComponentsIfNeeded(project, minimumSupportedRustVersion, allRustAbiSet)

0 commit comments

Comments
 (0)