toolkit/json/build.gradle.kts (79 lines of code) (raw):

plugins { kotlin("jvm") `maven-publish` signing } val kotlinxSerializationVersion = extra["kotlinx.serialization.version"] as String dependencies { api("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") testImplementation(kotlin("test")) } val artifactBaseName = "lets-plot-kotlin-json" val artifactGroupId = project.group as String val artifactVersion = project.version as String val jarJavaDocs by tasks.creating(Jar::class) { archiveClassifier.set("javadoc") group = "lets plot" from("$rootDir/README.md") } java { withSourcesJar() } afterEvaluate { publishing { publications { create<MavenPublication>("letsPlotKotlinJson") { groupId = artifactGroupId artifactId = artifactBaseName version = artifactVersion from(components["java"]) artifact(jarJavaDocs) pom { name.set("Lets-Plot Kotlin Util") description.set( "Lets-Plot Kotlin Util For Json Serialization." ) url.set("https://github.com/JetBrains/lets-plot-kotlin") licenses { license { name.set("MIT") url.set("https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/LICENSE") } } developers { developer { id.set("jetbrains") name.set("JetBrains") email.set("lets-plot@jetbrains.com") } } scm { url.set("https://github.com/JetBrains/lets-plot-kotlin") } } } } repositories { mavenLocal { val localMavenRepository: String by project url = uri(localMavenRepository) } maven { if (version.toString().endsWith("-SNAPSHOT")) { url = uri(rootProject.project.extra["mavenSnapshotPublishUrl"].toString()) credentials { username = rootProject.project.extra["sonatypeUsername"].toString() password = rootProject.project.extra["sonatypePassword"].toString() } } else { url = uri(rootProject.project.extra["mavenReleasePublishUrl"].toString()) } } } } } signing { if (!(project.version as String).contains("SNAPSHOT")) { sign(publishing.publications) } }