secp256k1-kmp/jni/jvm/linux/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

39 lines
1.1 KiB
Plaintext

plugins {
kotlin("jvm")
id("org.jetbrains.dokka")
`maven-publish`
}
dependencies {
implementation(project(":jni:jvm"))
}
val copyJni by tasks.creating(Sync::class) {
onlyIf { org.gradle.internal.os.OperatingSystem.current().isLinux }
dependsOn(":jni:jvm:buildNativeHost")
from(rootDir.resolve("jni/jvm/build/linux/libsecp256k1-jni.so"))
into(buildDir.resolve("jniResources/fr/acinq/secp256k1/jni/native/linux-x86_64"))
}
(tasks["processResources"] as ProcessResources).apply {
onlyIf { org.gradle.internal.os.OperatingSystem.current().isLinux }
dependsOn(copyJni)
from(buildDir.resolve("jniResources"))
}
publishing {
publications {
val pub = create<MavenPublication>("jvm") {
artifactId = "secp256k1-kmp-jni-jvm-linux"
from(components["java"])
val sourcesJar = task<Jar>("sourcesJar") {
archiveClassifier.set("sources")
}
artifact(sourcesJar)
}
if (!org.gradle.internal.os.OperatingSystem.current().isLinux) {
tasks.withType<AbstractPublishToMaven>().all { onlyIf { publication != pub } }
}
}
}