plugins { id("com.android.library") kotlin("android") id("org.jetbrains.dokka") `maven-publish` } kotlin { explicitApi() } dependencies { api(project(":jni")) } android { defaultConfig { compileSdk = 33 minSdk = 21 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } externalNativeBuild { cmake { version = "3.22.1" path("src/main/CMakeLists.txt") } } ndkVersion = "25.2.9519653" afterEvaluate { tasks.withType().all { enabled = false } } } afterEvaluate { tasks.filter { it.name.startsWith("configureCMake") }.forEach { it.dependsOn(":native:buildSecp256k1Android") } } afterEvaluate { publishing { publications { create("android") { artifactId = "secp256k1-kmp-jni-android" from(components["release"]) val sourcesJar = task("sourcesJar") { archiveClassifier.set("sources") from(android.sourceSets["main"].java.srcDirs) } artifact(sourcesJar) } } } }