From ace99c5d4f192129fff90193d9e11b5ddc4314d4 Mon Sep 17 00:00:00 2001 From: Nikita Bobko Date: Fri, 5 Nov 2021 17:15:42 +0100 Subject: [PATCH] [CHERRY PICKED FROM IJ] `KotlinChunk.Companion#calculateTargetDependencies` - don't forget to add dependency from "tests" to "production" I recently simplified `calculateTargetDependencies` 9f0fa45e441bc6764fe13d2055d6eaece54f5d7c but I accidentaly changed the logic. This commit returns accidentaly removed logic GitOrigin-RevId: bde45bc14ad82fcef976b5cce9c6a601ce129230 Original commit: https://github.com/JetBrains/intellij-community/commit/2e845a1122917238049421fd8a99af0da58ecc12 --- .../org/jetbrains/kotlin/jps/build/KotlinChunk.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinChunk.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinChunk.kt index ba26d010214..07f6842c129 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinChunk.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinChunk.kt @@ -80,7 +80,7 @@ class KotlinChunk internal constructor(val context: KotlinCompileContext, val ta val compileClasspathKind = JpsJavaClasspathKind.compile(srcTarget.isTests) val jpsJavaExtensionService = JpsJavaExtensionService.getInstance() - return srcTarget.module.dependenciesList.dependencies.asSequence() + val dependencies = srcTarget.module.dependenciesList.dependencies.asSequence() .filterIsInstance() .mapNotNull { dep -> val extension = jpsJavaExtensionService.getDependencyExtension(dep) @@ -90,7 +90,16 @@ class KotlinChunk internal constructor(val context: KotlinCompileContext, val ta ?.let { byJpsModuleBuildTarget[ModuleBuildTarget(it, srcTarget.isTests)] } ?.let { KotlinModuleBuildTarget.Dependency(srcTarget, it, extension.isExported) } } - .toList() + .toMutableList() + + if (srcTarget.isTests) { + val srcProductionTarget = byJpsModuleBuildTarget[ModuleBuildTarget(srcTarget.module, isTests = false)] + if (srcProductionTarget != null) { + dependencies.add(KotlinModuleBuildTarget.Dependency(srcTarget, srcProductionTarget, exported = true)) + } + } + + return dependencies } }