From 0e7de4df41120672da7f28b3e02b875077f69129 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Thu, 20 Jun 2019 02:50:31 +0300 Subject: [PATCH] Build: Fix embedded configuration import in jps build Should affect only test configurations --- gradle/jps.gradle.kts | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/gradle/jps.gradle.kts b/gradle/jps.gradle.kts index 81f109a349f..f77746c3387 100644 --- a/gradle/jps.gradle.kts +++ b/gradle/jps.gradle.kts @@ -37,10 +37,24 @@ fun JUnit.configureForKotlin() { if (kotlinBuildProperties.isInJpsBuildIdeaSync) { allprojects { apply(mapOf("plugin" to "idea")) + // Make Idea import embedded configuration as transitive dependency for some configurations afterEvaluate { - // Make Idea import embedded configuration as transitive dependency - configurations.findByName("embedded")?.let { embedded -> - configurations.findByName("runtime")?.extendsFrom(embedded) + listOf( + "testCompile", + "testCompileOnly", + "testRuntime", + "testRuntimeOnly" + ).forEach { configurationName -> + val dependencyProjects = configurations + .findByName(configurationName) + ?.dependencies + ?.mapNotNull { (it as? ProjectDependency)?.dependencyProject } + + dependencies { + dependencyProjects?.forEach {dependencyProject -> + add(configurationName, project(dependencyProject.path, configuration = "embedded")) + } + } } } }