platf-skia/build.gradle.kts (96 lines of code) (raw):
/*
* Copyright (c) 2023. JetBrains s.r.o.
* Use of this source code is governed by the MIT license that can be found in the LICENSE file.
*/
plugins {
kotlin("multiplatform")
`maven-publish`
signing
}
val skikoVersion = extra["skiko.version"] as String
val letsPlotVersion = extra["letsPlot.version"] as String
val kotlinLoggingVersion = extra["kotlinLogging.version"] as String
val assertjVersion = extra["assertj.version"] as String
kotlin {
jvm {
compilations.all {
kotlinOptions.jvmTarget = "11"
}
}
sourceSets {
commonMain {
dependencies {
compileOnly("org.jetbrains.skiko:skiko:$skikoVersion")
compileOnly("org.jetbrains.lets-plot:commons:$letsPlotVersion")
compileOnly("org.jetbrains.lets-plot:datamodel:$letsPlotVersion")
compileOnly("org.jetbrains.lets-plot:plot-base:$letsPlotVersion")
compileOnly("org.jetbrains.lets-plot:plot-stem:$letsPlotVersion")
compileOnly("org.jetbrains.lets-plot:plot-builder:$letsPlotVersion")
compileOnly("org.jetbrains.lets-plot:plot-raster:$letsPlotVersion")
compileOnly("org.jetbrains.lets-plot:canvas:$letsPlotVersion")
}
}
named("jvmMain") {
dependencies {
compileOnly("io.github.microutils:kotlin-logging-jvm:$kotlinLoggingVersion")
}
}
named("jvmTest") {
dependencies {
implementation(kotlin("test"))
implementation("org.assertj:assertj-core:$assertjVersion")
implementation("org.jetbrains.skiko:skiko:$skikoVersion")
implementation("org.jetbrains.lets-plot:commons:$letsPlotVersion")
implementation("org.jetbrains.lets-plot:datamodel:$letsPlotVersion")
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion")
}
}
}
}
///////////////////////////////////////////////
// Publishing
///////////////////////////////////////////////
afterEvaluate {
publishing {
publications.forEach { pub ->
with(pub as MavenPublication) {
artifact(tasks.jarJavaDocs)
pom {
name.set("Lets-Plot Compose - Skia")
description.set("Skia drawing for Lets-Plot Compose plotting library.")
url.set("https://github.com/JetBrains/lets-plot-compose")
licenses {
license {
name.set("MIT")
url.set("https://raw.githubusercontent.com/JetBrains/lets-plot-compose/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-compose")
}
}
}
}
repositories {
mavenLocal {
url = uri("$rootDir/.maven-publish-dev-repo")
}
maven {
// For SNAPSHOT publication use separate URL and credentials:
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)
}
}