From e154dbccda96d3f19afff5433109cef9f00a61d0 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Mon, 28 Dec 2015 17:39:56 +0300 Subject: [PATCH] IDEA-147689 Triggering Gradle tasks from submodules fail --- .../project/BaseGradleProjectResolverExtension.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java index 76ef69eee0c9..09ce935ed101 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java @@ -440,15 +440,17 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver final String moduleConfigPath = ideModule.getData().getLinkedExternalProjectPath(); ExternalProject externalProject = resolverCtx.getExtraProject(gradleModule, ExternalProject.class); - + final String rootProjectPath = ideProject.getData().getLinkedExternalProjectPath(); + final boolean isFlatProject = !FileUtil.isAncestor(rootProjectPath, moduleConfigPath, false); if (externalProject != null) { for (ExternalTask task : externalProject.getTasks().values()) { - String taskName = task.getName(); + String taskName = isFlatProject ? task.getQName() : task.getName(); String taskGroup = task.getGroup(); if (taskName.trim().isEmpty() || isIdeaTask(taskName, taskGroup)) { continue; } - TaskData taskData = new TaskData(GradleConstants.SYSTEM_ID, taskName, moduleConfigPath, task.getDescription()); + final String taskPath = isFlatProject ? rootProjectPath : moduleConfigPath; + TaskData taskData = new TaskData(GradleConstants.SYSTEM_ID, taskName, taskPath, task.getDescription()); taskData.setGroup(taskGroup); taskData.setType(task.getType()); ideModule.createChild(ProjectKeys.TASK, taskData);