From 47881c4a1e5cae44dee8413fbde65fe959b86c67 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Fri, 18 Dec 2020 15:28:00 +0300 Subject: [PATCH] [Gradle] prepend a module name resolved for a build included into `buildSrc` with the build name IDEA-257835 GitOrigin-RevId: 3d8cefc86239f6bbab1b298abe4c9330a14d53c1 --- .../importing/GradleBuildSrcImportingTest.kt | 2 ++ .../service/project/GradleProjectResolverUtil.java | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/plugins/gradle/java/testSources/importing/GradleBuildSrcImportingTest.kt b/plugins/gradle/java/testSources/importing/GradleBuildSrcImportingTest.kt index 9354449d71d3..8592317419ec 100644 --- a/plugins/gradle/java/testSources/importing/GradleBuildSrcImportingTest.kt +++ b/plugins/gradle/java/testSources/importing/GradleBuildSrcImportingTest.kt @@ -184,6 +184,7 @@ class GradleBuildSrcImportingTest : GradleImportingTestCase() { includeBuild('build1') includeBuild('build2') """.trimIndent()) + createProjectSubFile("buildSrc/settings.gradle") createProjectSubFile("build1/settings.gradle", "include('app')") @@ -192,6 +193,7 @@ class GradleBuildSrcImportingTest : GradleImportingTestCase() { importProject("") assertModules("project", + "project.buildSrc", "project.buildSrc.main", "project.buildSrc.test", "build1", "build1.app", "build2", "build2.app", "build2.buildSrc", "build2.buildSrc.main", "build2.buildSrc.test") diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java index ab468865d5d9..e285a0a0ebd3 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java @@ -191,7 +191,11 @@ public final class GradleProjectResolverUtil { String compositePrefix = ""; boolean isRootPath = StringUtil.isEmpty(gradlePath) || ":".equals(gradlePath); if (!StringUtil.isEmpty(resolverCtx.getBuildSrcGroup())) { - compositePrefix = resolverCtx.getBuildSrcGroup() + (isRootPath ? ":" : ":buildSrc"); + if (!isRootPath && build != resolverCtx.getModels().getMainBuild()) { + compositePrefix = build.getName(); + } else { + compositePrefix = resolverCtx.getBuildSrcGroup() + (isRootPath ? ":" : ":buildSrc"); + } } else if (!isRootPath && build != resolverCtx.getModels().getMainBuild()) { compositePrefix = build.getName(); @@ -199,7 +203,6 @@ public final class GradleProjectResolverUtil { return compositePrefix + getModuleId(gradlePath, project.getName()); } - @NotNull public static String getModuleId(@NotNull ProjectResolverContext resolverCtx, @NotNull IdeaModule gradleModule) { GradleProject gradleProject = gradleModule.getGradleProject(); @@ -208,7 +211,11 @@ public final class GradleProjectResolverUtil { IdeaProject ideaProject = gradleModule.getProject(); boolean isRootPath = StringUtil.isEmpty(gradlePath) || ":".equals(gradlePath); if (!StringUtil.isEmpty(resolverCtx.getBuildSrcGroup())) { - compositePrefix = resolverCtx.getBuildSrcGroup() + (isRootPath ? ":" : ":buildSrc"); + if (!isRootPath && ideaProject != resolverCtx.getModels().getModel(IdeaProject.class)) { + compositePrefix = ideaProject.getName(); + } else { + compositePrefix = resolverCtx.getBuildSrcGroup() + (isRootPath ? ":" : ":buildSrc"); + } } else if (!isRootPath && ideaProject != resolverCtx.getModels().getModel(IdeaProject.class)) { compositePrefix = ideaProject.getName();