[Gradle] KotlinCompilationAssociator: Restore 1.8.10 behaviour for KotlinWithJavaTarget

^KT-58280 Verification Pending
This commit is contained in:
Sebastian Sellmair
2023-05-05 15:38:45 +02:00
committed by Space Team
parent 3196981799
commit 08f3d56d9b
2 changed files with 16 additions and 5 deletions
@@ -282,11 +282,16 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
buildGradle.appendText( buildGradle.appendText(
""" """
| |
|tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile.class).configureEach { |def compileKotlinTask = tasks.named("compileKotlin", org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile.class)
| if (it.name == "compileKotlin") { |
| it.destinationDirectory.set(project.layout.buildDirectory.dir("banana")) |compileKotlinTask.configure {
| } | it.destinationDirectory.set(project.layout.buildDirectory.dir("banana"))
|} |}
|
|def compileKotlinTaskOutput = compileKotlinTask.flatMap { it.destinationDirectory }
|sourceSets.test.compileClasspath.from(compileKotlinTaskOutput)
|sourceSets.test.runtimeClasspath.from(compileKotlinTaskOutput)
|
""".trimMargin() """.trimMargin()
) )
@@ -7,8 +7,10 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.Dependency
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType.jvm
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.isMain import org.jetbrains.kotlin.gradle.plugin.mpp.isMain
import org.jetbrains.kotlin.gradle.plugin.mpp.isTest import org.jetbrains.kotlin.gradle.plugin.mpp.isTest
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
@@ -76,7 +78,11 @@ internal object KotlinNativeCompilationAssociator : KotlinCompilationAssociator
internal object KotlinJvmCompilationAssociator : KotlinCompilationAssociator { internal object KotlinJvmCompilationAssociator : KotlinCompilationAssociator {
override fun associate(target: KotlinTarget, auxiliary: InternalKotlinCompilation<*>, main: InternalKotlinCompilation<*>) { override fun associate(target: KotlinTarget, auxiliary: InternalKotlinCompilation<*>, main: InternalKotlinCompilation<*>) {
/* Main to Test association handled already by java plugin */ /* Main to Test association handled already by java plugin */
if (target is KotlinJvmTarget && target.withJavaEnabled && auxiliary.isTest() && main.isMain()) { if (
((target is KotlinWithJavaTarget<*, *> && target.platformType == jvm) ||
(target is KotlinJvmTarget && target.withJavaEnabled)) &&
auxiliary.isTest() && main.isMain()
) {
return return
} else DefaultKotlinCompilationAssociator.associate(target, auxiliary, main) } else DefaultKotlinCompilationAssociator.associate(target, auxiliary, main)
} }