secp256k1-kmp/jni/android/build.gradle.kts
Romain Boisselle f493edfdfb
New publication configuration (#14)
* add Dokka + align POM metadatas with sonatype requirements

* update snapshot CI

* update JNI publication

* update CI scripts

* remove maven-metadata-local.xml

* add snapshot publication with maven-publish plugin
2021-03-11 17:53:50 +01:00

68 lines
1.5 KiB
Plaintext

import org.jetbrains.dokka.Platform
plugins {
id("com.android.library")
kotlin("android")
id("org.jetbrains.dokka")
`maven-publish`
}
kotlin {
explicitApi()
}
dependencies {
api(project(":jni"))
}
android {
defaultConfig {
compileSdkVersion(30)
minSdkVersion(21)
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {}
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
externalNativeBuild {
cmake {
setPath("src/main/CMakeLists.txt")
}
}
ndkVersion = "21.3.6528147"
afterEvaluate {
tasks.withType<com.android.build.gradle.tasks.factory.AndroidUnitTest>().all {
enabled = false
}
}
}
afterEvaluate {
configure(listOf("Debug", "Release").map { tasks["externalNativeBuild$it"] }) {
dependsOn(":native:buildSecp256k1Android")
}
}
afterEvaluate {
publishing {
publications {
create<MavenPublication>("android") {
artifactId = "secp256k1-kmp-jni-android"
from(components["release"])
val sourcesJar = task<Jar>("sourcesJar") {
archiveClassifier.set("sources")
from(android.sourceSets["main"].java.srcDirs)
}
artifact(sourcesJar)
}
}
}
}