Skip to content

Commit 918a74f

Browse files
sellmairSpace Team
authored and
Space Team
committed
[Gradle] KotlinCompilationAssociator: Restore 1.8.10 behaviour for KotlinWithJavaTarget
^KT-58280 Verification Pending (cherry picked from commit 08f3d56)
1 parent 90a9bf9 commit 918a74f

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

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

+9-4
Original file line numberDiff line numberDiff line change
@@ -284,11 +284,16 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
284284
buildGradle.appendText(
285285
"""
286286
|
287-
|tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile.class).configureEach {
288-
| if (it.name == "compileKotlin") {
289-
| it.destinationDirectory.set(project.layout.buildDirectory.dir("banana"))
290-
| }
287+
|def compileKotlinTask = tasks.named("compileKotlin", org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile.class)
288+
|
289+
|compileKotlinTask.configure {
290+
| it.destinationDirectory.set(project.layout.buildDirectory.dir("banana"))
291291
|}
292+
|
293+
|def compileKotlinTaskOutput = compileKotlinTask.flatMap { it.destinationDirectory }
294+
|sourceSets.test.compileClasspath.from(compileKotlinTaskOutput)
295+
|sourceSets.test.runtimeClasspath.from(compileKotlinTaskOutput)
296+
|
292297
""".trimMargin()
293298
)
294299

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

+7-1
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)