87742cf60b
Раньше URL репозитория брался через env var BINOM_REPO_URL, но build.gradle.kts
использует findProperty('binom.repo.url'), который читает только -P gradle
properties, не env vars. Без явного -Pbinom.repo.url Gradle фоллбэчился на
placeholder 'http://nexus.xx/repository/caffeine/' и публикация шла в
несуществующий репозиторий.
Передаю все три креды (url/user/password) через -P-свойства. Убрал
-Pdisable-javadoc=true — он был скопирован из devops/publish action, но
build.gradle.kts его не читает.
77 lines
3.0 KiB
Kotlin
77 lines
3.0 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.kotlin.multiplatform) apply false
|
|
alias(libs.plugins.kotlin.jvm) apply false
|
|
alias(libs.plugins.kotlin.serialization) apply false
|
|
// maven-publish — стандартный плагин Gradle, объявлен apply'ем в subprojects ниже.
|
|
}
|
|
|
|
group = "pw.binom.agentik"
|
|
|
|
// Publication version: -Pversion=<tag> (CICD publishes by release tag).
|
|
// Без явного -Pversion берётся fallback из gradle.properties или "0.1.0".
|
|
if (version == "unspecified") {
|
|
version = providers.gradleProperty("version").getOrElse("0.1.0")
|
|
}
|
|
|
|
// Home Nexus URL/creds — передаются через -Pbinom.repo.* из CI/CD workflow
|
|
// (.gitea/workflows/release.yml). Локально для дебага:
|
|
// ./gradlew publish -Pbinom.repo.url=http://... -Pbinom.repo.user=... -Pbinom.repo.password=...
|
|
// Без -P URL падает на дефолтный placeholder (заглушка для локальной разработки).
|
|
val binomRepoUrl = (findProperty("binom.repo.url") as String? ?: "http://nexus.xx/repository/caffeine/").toString()
|
|
val binomRepoUser = (findProperty("binom.repo.user") as String? ?: "").toString()
|
|
val binomRepoPassword = (findProperty("binom.repo.password") as String? ?: "").toString()
|
|
|
|
subprojects {
|
|
group = rootProject.group
|
|
version = rootProject.version
|
|
|
|
apply(plugin = "maven-publish")
|
|
|
|
extensions.configure<PublishingExtension>("publishing") {
|
|
repositories {
|
|
maven {
|
|
name = "caffeine"
|
|
url = uri(binomRepoUrl)
|
|
isAllowInsecureProtocol = true
|
|
credentials {
|
|
username = binomRepoUser
|
|
password = binomRepoPassword
|
|
}
|
|
}
|
|
}
|
|
|
|
// Per-subproject POM-метаданные (name, scm, licenses, developers).
|
|
publications.withType<MavenPublication>().configureEach {
|
|
pom {
|
|
name = project.name
|
|
description = providers.provider {
|
|
project.findProperty("description")?.toString()
|
|
?: "agentik: ${project.name} (pw.binom.agentik)"
|
|
}
|
|
url = "https://git.binom.pw/subochev/agentik"
|
|
|
|
licenses {
|
|
license {
|
|
name = "Apache-2.0"
|
|
url = "https://www.apache.org/licenses/LICENSE-2.0"
|
|
}
|
|
}
|
|
|
|
developers {
|
|
developer {
|
|
id = "subochev"
|
|
name = "Subochev Alexey"
|
|
url = "https://git.binom.pw/subochev"
|
|
}
|
|
}
|
|
|
|
scm {
|
|
connection = "scm:git:https://git.binom.pw/subochev/agentik.git"
|
|
developerConnection = "scm:git:ssh://git@git.binom.pw/subochev/agentik.git"
|
|
url = "https://git.binom.pw/subochev/agentik"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|