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= (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 — Gitea action-variables BINOM_REPO_* (subochev/devops/publish). // Локально для дебага: ./gradlew publish \ // -Pbinom.repo.url=http://... -Pbinom.repo.user=... -Pbinom.repo.password=... val binomRepoUrl = (findProperty("binom.repo.url") ?: "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("publishing") { repositories { maven { name = "caffeine" url = uri(binomRepoUrl) isAllowInsecureProtocol = true credentials { username = binomRepoUser password = binomRepoPassword } } } // Per-subproject POM-метаданные (name, scm, licenses, developers). publications.withType().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" } } } } }