Skip to content

Commit 08f3d56

Browse files
sellmairSpace Team
authored andcommitted
[Gradle] KotlinCompilationAssociator: Restore 1.8.10 behaviour for KotlinWithJavaTarget
^KT-58280 Verification Pending
1 parent 3196981 commit 08f3d56

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,11 +282,16 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
282282
buildGradle.appendText(
283283
"""
284284
|
285-
|tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile.class).configureEach {
286-
| if (it.name == "compileKotlin") {
287-
| it.destinationDirectory.set(project.layout.buildDirectory.dir("banana"))
288-
| }
285+
|def compileKotlinTask = tasks.named("compileKotlin", org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile.class)
286+
|
287+
|compileKotlinTask.configure {
288+
| it.destinationDirectory.set(project.layout.buildDirectory.dir("banana"))
289289
|}
290+
|
291+
|def compileKotlinTaskOutput = compileKotlinTask.flatMap { it.destinationDirectory }
292+
|sourceSets.test.compileClasspath.from(compileKotlinTaskOutput)
293+
|sourceSets.test.runtimeClasspath.from(compileKotlinTaskOutput)
294+
|
290295
""".trimMargin()
291296
)
292297

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationAssociator.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl
77

88
import org.gradle.api.Project
99
import org.gradle.api.artifacts.Dependency
10+
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType.jvm
1011
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
1112
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
13+
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget
1214
import org.jetbrains.kotlin.gradle.plugin.mpp.isMain
1315
import org.jetbrains.kotlin.gradle.plugin.mpp.isTest
1416
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
@@ -76,7 +78,11 @@ internal object KotlinNativeCompilationAssociator : KotlinCompilationAssociator
7678
internal object KotlinJvmCompilationAssociator : KotlinCompilationAssociator {
7779
override fun associate(target: KotlinTarget, auxiliary: InternalKotlinCompilation<*>, main: InternalKotlinCompilation<*>) {
7880
/* Main to Test association handled already by java plugin */
79-
if (target is KotlinJvmTarget && target.withJavaEnabled && auxiliary.isTest() && main.isMain()) {
81+
if (
82+
((target is KotlinWithJavaTarget<*, *> && target.platformType == jvm) ||
83+
(target is KotlinJvmTarget && target.withJavaEnabled)) &&
84+
auxiliary.isTest() && main.isMain()
85+
) {
8086
return
8187
} else DefaultKotlinCompilationAssociator.associate(target, auxiliary, main)
8288
}

0 commit comments

Comments
 (0)