123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- @file:Suppress("UnstableApiUsage")
- import org.gradle.api.tasks.testing.logging.TestLogEvent
- val pkg: String = providers.gradleProperty("wireguardPackageName").get()
- plugins {
- alias(libs.plugins.android.library)
- `maven-publish`
- signing
- }
- android {
- compileSdk = 34
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_17
- targetCompatibility = JavaVersion.VERSION_17
- }
- namespace = "${pkg}.tunnel"
- defaultConfig {
- minSdk = 21
- }
- externalNativeBuild {
- cmake {
- path("tools/CMakeLists.txt")
- }
- }
- testOptions.unitTests.all {
- it.testLogging { events(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED) }
- }
- buildTypes {
- all {
- externalNativeBuild {
- cmake {
- targets("libwg-go.so", "libwg.so", "libwg-quick.so")
- arguments("-DGRADLE_USER_HOME=${project.gradle.gradleUserHomeDir}")
- }
- }
- }
- release {
- externalNativeBuild {
- cmake {
- arguments("-DANDROID_PACKAGE_NAME=${pkg}")
- }
- }
- }
- debug {
- externalNativeBuild {
- cmake {
- arguments("-DANDROID_PACKAGE_NAME=${pkg}.debug")
- }
- }
- }
- }
- lint {
- disable += "LongLogTag"
- disable += "NewApi"
- }
- publishing {
- singleVariant("release") {
- withJavadocJar()
- withSourcesJar()
- }
- }
- }
- dependencies {
- implementation(libs.androidx.annotation)
- implementation(libs.androidx.collection)
- compileOnly(libs.jsr305)
- testImplementation(libs.junit)
- }
- publishing {
- publications {
- register<MavenPublication>("release") {
- groupId = pkg
- artifactId = "tunnel"
- version = providers.gradleProperty("wireguardVersionName").get()
- afterEvaluate {
- from(components["release"])
- }
- pom {
- name.set("WireGuard Tunnel Library")
- description.set("Embeddable tunnel library for WireGuard for Android")
- url.set("https://www.wireguard.com/")
- licenses {
- license {
- name.set("The Apache Software License, Version 2.0")
- url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
- distribution.set("repo")
- }
- }
- scm {
- connection.set("scm:git:https://git.zx2c4.com/wireguard-android")
- developerConnection.set("scm:git:https://git.zx2c4.com/wireguard-android")
- url.set("https://git.zx2c4.com/wireguard-android")
- }
- developers {
- organization {
- name.set("WireGuard")
- url.set("https://www.wireguard.com/")
- }
- developer {
- name.set("WireGuard")
- email.set("team@wireguard.com")
- }
- }
- }
- }
- }
- repositories {
- maven {
- name = "sonatype"
- url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
- credentials {
- username = providers.environmentVariable("SONATYPE_USER").orNull
- password = providers.environmentVariable("SONATYPE_PASSWORD").orNull
- }
- }
- }
- }
- signing {
- useGpgCmd()
- sign(publishing.publications)
- }
|