Exclude kotlinx-coroutines-core and kotlin-stdlib from dependencies to avoid clashes (fix #523)

This commit is contained in:
Him188 2020-08-22 12:56:41 +08:00
parent 3e4de4fa74
commit 44d90c703f
2 changed files with 56 additions and 44 deletions

View File

@ -60,14 +60,12 @@ kotlin {
val commonMain by getting {
dependencies {
api(kotlinx("serialization-core", Versions.Kotlin.serialization))
api1(kotlinx("serialization-core", Versions.Kotlin.serialization))
api(kotlinx("coroutines-core", Versions.Kotlin.coroutines))
implementation(kotlinx("serialization-protobuf", Versions.Kotlin.serialization))
api("org.jetbrains.kotlinx:atomicfu:${Versions.Kotlin.atomicFU}")
api(kotlinx("io", Versions.Kotlin.io)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
implementation(kotlinx("coroutines-io", Versions.Kotlin.coroutinesIo))
implementation1(kotlinx("serialization-protobuf", Versions.Kotlin.serialization))
api1("org.jetbrains.kotlinx:atomicfu:${Versions.Kotlin.atomicFU}")
api1(kotlinx("io", Versions.Kotlin.io))
implementation1(kotlinx("coroutines-io", Versions.Kotlin.coroutinesIo))
}
}
@ -97,11 +95,8 @@ kotlin {
val jvmMain by getting {
dependencies {
runtimeOnly(files("build/classes/kotlin/jvm/main")) // classpath is not properly set by IDE
implementation("org.bouncycastle:bcprov-jdk15on:1.64")
api(kotlinx("io-jvm", Versions.Kotlin.io)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
api1(kotlinx("io-jvm", Versions.Kotlin.io))
// api(kotlinx("coroutines-debug", Versions.Kotlin.coroutines))
}
}
@ -112,14 +107,29 @@ kotlin {
implementation(kotlin("test", Versions.Kotlin.compiler))
implementation(kotlin("test-junit", Versions.Kotlin.compiler))
implementation("org.pcap4j:pcap4j-distribution:1.8.2")
runtimeOnly(files("build/classes/kotlin/jvm/main")) // classpath is not properly set by IDE
runtimeOnly(files("build/classes/kotlin/jvm/test")) // classpath is not properly set by IDE
}
}
}
}
fun org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler.implementation1(dependencyNotation: String) =
implementation(dependencyNotation) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-common")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-jvm")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-metadata")
}
fun org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler.api1(dependencyNotation: String) =
api(dependencyNotation) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-common")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-jvm")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-metadata")
}
apply(from = rootProject.file("gradle/publish.gradle"))

View File

@ -63,21 +63,17 @@ kotlin {
api(kotlin("serialization"))
api(kotlin("reflect"))
api(kotlinx("serialization-core", Versions.Kotlin.serialization))
implementation(kotlinx("serialization-protobuf", Versions.Kotlin.serialization))
api(kotlinx("io", Versions.Kotlin.io)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
api(kotlinx("coroutines-io", Versions.Kotlin.coroutinesIo)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
api1(kotlinx("serialization-core", Versions.Kotlin.serialization))
implementation1(kotlinx("serialization-protobuf", Versions.Kotlin.serialization))
api1(kotlinx("io", Versions.Kotlin.io))
api1(kotlinx("coroutines-io", Versions.Kotlin.coroutinesIo))
api(kotlinx("coroutines-core", Versions.Kotlin.coroutines))
implementation("org.jetbrains.kotlinx:atomicfu:${Versions.Kotlin.atomicFU}")
implementation1("org.jetbrains.kotlinx:atomicfu:${Versions.Kotlin.atomicFU}")
api(ktor("client-cio"))
api(ktor("client-core"))
api(ktor("network"))
api1(ktor("client-cio"))
api1(ktor("client-core"))
api1(ktor("network"))
}
}
@ -93,14 +89,10 @@ kotlin {
dependencies {
api(kotlin("reflect"))
api(kotlinx("io-jvm", Versions.Kotlin.io)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
api(kotlinx("coroutines-io-jvm", Versions.Kotlin.coroutinesIo)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
api1(kotlinx("io-jvm", Versions.Kotlin.io))
api1(kotlinx("coroutines-io-jvm", Versions.Kotlin.coroutinesIo))
api(ktor("client-android", Versions.Kotlin.ktor))
api1(ktor("client-android", Versions.Kotlin.ktor))
}
}
@ -116,21 +108,13 @@ kotlin {
val jvmMain by getting {
dependencies {
//api(kotlin("stdlib-jdk8"))
//api(kotlin("stdlib-jdk7"))
api(kotlin("reflect"))
compileOnly("org.apache.logging.log4j:log4j-api:" + Versions.Logging.log4j)
compileOnly("org.slf4j:slf4j-api:" + Versions.Logging.slf4j)
api(ktor("client-core-jvm", Versions.Kotlin.ktor))
api(kotlinx("io-jvm", Versions.Kotlin.io)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
api(kotlinx("coroutines-io-jvm", Versions.Kotlin.coroutinesIo)) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
}
runtimeOnly(files("build/classes/kotlin/jvm/main")) // classpath is not properly set by IDE
api1(ktor("client-core-jvm", Versions.Kotlin.ktor))
api1(kotlinx("io-jvm", Versions.Kotlin.io))
api1(kotlinx("coroutines-io-jvm", Versions.Kotlin.coroutinesIo))
}
}
@ -146,6 +130,24 @@ kotlin {
}
}
fun org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler.implementation1(dependencyNotation: String) =
implementation(dependencyNotation) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-common")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-jvm")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-metadata")
}
fun org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler.api1(dependencyNotation: String) =
api(dependencyNotation) {
exclude("org.jetbrains.kotlin", "kotlin-stdlib")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-common")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-jvm")
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-metadata")
}
apply(from = rootProject.file("gradle/publish.gradle"))
tasks.withType<com.jfrog.bintray.gradle.tasks.BintrayUploadTask> {