separate kotlin json builder publication to maven central by group id

commit_hash:92f0f54eea6de2c1794eddc39cf0a0bce430f0ce
This commit is contained in:
gulevsky
2025-10-29 19:25:27 +03:00
parent 217512328f
commit 1cbb6f16ad
6 changed files with 27 additions and 22 deletions
+6 -2
View File
@@ -1,10 +1,15 @@
import com.yandex.divkit.gradle.optBooleanProperty
plugins {
alias(libs.plugins.kotlin.jvm)
id("divkit.convention.publishing-project")
id("divkit.convention.publishing-module")
}
group = "com.yandex.div"
val useLegacyGroupId = optBooleanProperty("useLegacyGroupId") ?: false
if (useLegacyGroupId) {
group = "com.yandex.div"
}
kotlin {
jvmToolchain(17)
@@ -12,5 +17,4 @@ kotlin {
dependencies {
api(project(":divan-dsl"))
api(project(":legacy-json-builder"))
}
@@ -23,6 +23,10 @@ fun Project.applyProperties(from: String) {
}
}
inline fun <reified T> Project.optProperty(name: String): T? {
return findProperty(name) as? T
fun Project.optStringProperty(name: String): String? {
return findProperty(name) as? String
}
fun Project.optBooleanProperty(name: String): Boolean? {
return optStringProperty(name)?.toBoolean()
}
@@ -1,7 +1,7 @@
package divkit.convention
import com.yandex.divkit.gradle.PublicationType
import com.yandex.divkit.gradle.optProperty
import com.yandex.divkit.gradle.optStringProperty
import com.yandex.divkit.gradle.sourceSets
import java.net.URI
@@ -20,12 +20,12 @@ val bucketPassword: String? by rootProject.extra
val publishToBucket: Boolean by rootProject.extra
extra.apply {
set("signing.keyId", rootProject.optProperty<String>("signing.keyId") ?: System.getenv("SIGNING_KEY_ID"))
set("signing.password", rootProject.optProperty<String>("signing.password") ?: System.getenv("SIGNING_PASSWORD"))
set("signing.secretKeyRingFile", rootProject.optProperty<String>("signing.secretKeyRingFile") ?: System.getenv("SIGNING_SECRET_KEY_RING_FILE"))
set("signing.keyId", rootProject.optStringProperty("signing.keyId") ?: System.getenv("SIGNING_KEY_ID"))
set("signing.password", rootProject.optStringProperty("signing.password") ?: System.getenv("SIGNING_PASSWORD"))
set("signing.secretKeyRingFile", rootProject.optStringProperty("signing.secretKeyRingFile") ?: System.getenv("SIGNING_SECRET_KEY_RING_FILE"))
}
group = "com.yandex.divkit.json-builder"
group = "com.yandex.divkit.kotlin-json-builder"
version = divkitVersionSuffixed
if (publishToMavenCentral) {
@@ -1,7 +1,7 @@
package divkit.convention
import com.yandex.divkit.gradle.applyProperties
import com.yandex.divkit.gradle.optProperty
import com.yandex.divkit.gradle.optStringProperty
import java.net.URI
plugins {
@@ -12,16 +12,16 @@ plugins {
applyProperties(from = "$rootDir/bucket.properties")
val divkitVersionSuffixed: String by extra
val sonatypeUsername: String? by extra(optProperty<String>("sonatypeUsername") ?: System.getenv("SONATYPE_USERNAME"))
val sonatypePassword: String? by extra(optProperty<String>("sonatypePassword") ?: System.getenv("SONATYPE_PASSWORD"))
val sonatypeUsername: String? by extra(optStringProperty("sonatypeUsername") ?: System.getenv("SONATYPE_USERNAME"))
val sonatypePassword: String? by extra(optStringProperty("sonatypePassword") ?: System.getenv("SONATYPE_PASSWORD"))
val publishToMavenCentral: Boolean by extra(sonatypeUsername != null && sonatypePassword != null)
val bucketReleasesUrl: URI by extra(URI.create(optProperty<String>("bucketReleasesUrl").orEmpty()))
val bucketSnapshotsUrl: URI by extra(URI.create(optProperty<String>("bucketSnapshotsUrl").orEmpty()))
val bucketUsername: String? by extra(optProperty<String>("bucketUsername") ?: System.getenv("BUCKET_USERNAME"))
val bucketPassword: String? by extra(optProperty<String>("bucketPassword") ?: System.getenv("BUCKET_PASSWORD"))
val bucketReleasesUrl: URI by extra(URI.create(optStringProperty("bucketReleasesUrl").orEmpty()))
val bucketSnapshotsUrl: URI by extra(URI.create(optStringProperty("bucketSnapshotsUrl").orEmpty()))
val bucketUsername: String? by extra(optStringProperty("bucketUsername") ?: System.getenv("BUCKET_USERNAME"))
val bucketPassword: String? by extra(optStringProperty("bucketPassword") ?: System.getenv("BUCKET_PASSWORD"))
val publishToBucket: Boolean by extra(bucketUsername != null && bucketPassword != null)
group = "com.yandex.divkit.json-builder"
group = "com.yandex.divkit.kotlin-json-builder"
version = divkitVersionSuffixed
if (publishToMavenCentral) {
@@ -2,7 +2,7 @@ package divkit.convention
import com.yandex.divkit.gradle.PublicationType
import com.yandex.divkit.gradle.Version
import com.yandex.divkit.gradle.optProperty
import com.yandex.divkit.gradle.optStringProperty
val versionFile = rootProject.layout.projectDirectory.file("../../version")
val version = providers.fileContents(versionFile).asText.get()
@@ -10,6 +10,6 @@ val (major, minor, patch) = version.trim()
.split('.')
.map(Integer::parseInt)
val publicationType by extra(PublicationType.fromString(project.optProperty<String>("publicationType")))
val publicationType by extra(PublicationType.fromString(project.optStringProperty("publicationType")))
val divkitVersion by extra(Version(project, major, minor, patch))
val divkitVersionSuffixed by extra("${divkitVersion.versionName}${publicationType.getVersionSuffix()}")
@@ -1,10 +1,7 @@
plugins {
alias(libs.plugins.kotlin.jvm)
id("divkit.convention.publishing-module")
}
group = "com.yandex.div"
kotlin {
jvmToolchain(17)