Files
SauceNaoAPI/build.gradle

99 lines
2.6 KiB
Groovy

buildscript {
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
classpath libs.buildscript.kt.gradle
classpath libs.buildscript.kt.serialization
classpath libs.buildscript.gh.release
}
}
plugins {
alias(libs.plugins.multiplatform)
alias(libs.plugins.serialization)
alias(libs.plugins.nmcp.aggregation)
}
project.version = "$library_version"
project.group = "dev.inmo"
apply from: "publish.gradle"
apply from: "github_release.gradle"
repositories {
mavenCentral()
maven { url "https://nexus.inmo.dev/repository/maven-releases/" }
mavenLocal()
}
kotlin {
jvm {
compilations.main {
kotlinOptions {
jvmTarget = "17"
}
}
}
js(IR) {
browser()
nodejs()
}
linuxX64()
mingwX64()
sourceSets {
commonMain {
dependencies {
implementation kotlin('stdlib')
api libs.kt.coroutines
api libs.kt.serialization
api libs.klock
api libs.ktor.client
api libs.microutils.common
api libs.microutils.ktor.common
api libs.microutils.mimetypes
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
jvmTest {
dependencies {
implementation kotlin('test-junit')
implementation libs.ktor.client.okhttp
}
}
jsTest {
dependencies {
implementation kotlin('test-js')
}
}
}
}
if ((project.hasProperty('SONATYPE_USER') || System.getenv('SONATYPE_USER') != null) && (project.hasProperty('SONATYPE_PASSWORD') || System.getenv('SONATYPE_PASSWORD') != null)) {
nmcpAggregation {
centralPortal {
username = project.hasProperty('SONATYPE_USER') ? project.property('SONATYPE_USER') : System.getenv('SONATYPE_USER')
password = project.hasProperty('SONATYPE_PASSWORD') ? project.property('SONATYPE_PASSWORD') : System.getenv('SONATYPE_PASSWORD')
validationTimeout = Duration.ofHours(4)
publishingType = System.getenv('PUBLISHING_TYPE') != "" ? System.getenv('PUBLISHING_TYPE') : "USER_MANAGED"
}
publishAllProjectsProbablyBreakingProjectIsolation()
}
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}