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();