From a3f89872557e867ef71f4d20b14d60ddbfc9c72a Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Thu, 6 Jun 2019 10:48:31 +0300 Subject: [PATCH] JPS Build: fix importing artifacts For some reason, gradle.projectsEvaluated callback evaluates after IDEA import script gathers all project models. So, all jps related project settings (including artifacts configurations) won't be imported. We need only :prepare:idea-plugin evaluated. So replacing gradle.projectsEvaluated to root Project.afterEvaluate and forcing evaluation of :prepare:idea-plugin fixes the problem. --- gradle/jps.gradle.kts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gradle/jps.gradle.kts b/gradle/jps.gradle.kts index c4d3786ad44..cc06a5c39c2 100644 --- a/gradle/jps.gradle.kts +++ b/gradle/jps.gradle.kts @@ -1,3 +1,4 @@ +import org.gradle.api.internal.project.ProjectInternal import org.jetbrains.gradle.ext.* import org.jetbrains.kotlin.ideaExt.* import org.jetbrains.kotlin.buildUtils.idea.* @@ -43,7 +44,7 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) { } } - gradle.projectsEvaluated { + rootProject.afterEvaluate { rootProject.allprojects { idea { module { @@ -162,6 +163,7 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) { fun NamedDomainObjectContainer.ideaPlugin() { val ideaPluginProject = project(":prepare:idea-plugin") + (ideaPluginProject as ProjectInternal).evaluate() val libraries by ideaPluginProject.configurations val jpsPlugin by ideaPluginProject.configurations