AndroidCommon/AndroidLibs/gradle/publishing.gradle.kts

48 行
1.5 KiB
Plaintext

import org.gradle.api.publish.PublishingExtension
import org.gradle.api.publish.maven.MavenPublication
import org.gradle.kotlin.dsl.configure
apply(plugin = "maven-publish")
val publishGroup = providers.gradleProperty("PUBLISH_GROUP").getOrElse("com.xuqm")
val publishVersion = providers.gradleProperty("PUBLISH_VERSION").getOrElse("0.1.0-SNAPSHOT")
group = publishGroup
version = publishVersion
configure<PublishingExtension> {
publications {
register<MavenPublication>("release") {
groupId = publishGroup
artifactId = project.name
version = publishVersion
afterEvaluate {
from(components.findByName("release"))
}
}
}
repositories {
maven {
val isSnapshot = publishVersion.endsWith("SNAPSHOT")
name = if (isSnapshot) "xuqmSnapshot" else "xuqmRelease"
url = uri(
if (isSnapshot) {
"https://nexus.xuqinmin.com/repository/android-snapshot/"
} else {
"https://nexus.xuqinmin.com/repository/android-hosted/"
},
)
credentials {
username = providers.gradleProperty("nexus.username")
.orElse(providers.environmentVariable("NEXUS_USERNAME"))
.orNull
password = providers.gradleProperty("nexus.password")
.orElse(providers.environmentVariable("NEXUS_PASSWORD"))
.orNull
}
}
}
}