mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[gradle] align Module grouping with Gradle projects hierarchy IDEA-202466
Using explicit module groups
This commit is contained in:
+14
-4
@@ -146,10 +146,8 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver
|
||||
if (resolverCtx.isResolveModulePerSourceSet() && externalProject != null) {
|
||||
String[] moduleGroup = null;
|
||||
if (!resolverCtx.isUseQualifiedModuleNames()) {
|
||||
String gradlePath = gradleModule.getGradleProject().getPath();
|
||||
final boolean isRootModule = StringUtil.isEmpty(gradlePath) || ":".equals(gradlePath);
|
||||
moduleGroup = isRootModule ? new String[]{mainModuleData.getInternalName()} : ArrayUtil.remove(gradlePath.split(":"), 0);
|
||||
mainModuleData.setIdeModuleGroup(isRootModule ? null : moduleGroup);
|
||||
moduleGroup = getIdeModuleGroup(mainModuleData.getInternalName(), gradleModule);
|
||||
mainModuleData.setIdeModuleGroup(moduleGroup);
|
||||
}
|
||||
|
||||
for (ExternalSourceSet sourceSet : externalProject.getSourceSets().values()) {
|
||||
@@ -229,6 +227,18 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver
|
||||
return mainModuleNode;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected String[] getIdeModuleGroup(String moduleName, IdeaModule gradleModule) {
|
||||
String[] moduleGroup;
|
||||
final String gradlePath = gradleModule.getGradleProject().getPath();
|
||||
final String rootName = gradleModule.getProject().getName();
|
||||
final boolean isRootModule = StringUtil.isEmpty(gradlePath) || ":".equals(gradlePath);
|
||||
moduleGroup = isRootModule
|
||||
? new String[]{ moduleName }
|
||||
: (rootName + gradlePath).split(":");
|
||||
return moduleGroup;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static String getJdkName(@NotNull IdeaModule gradleModule) {
|
||||
try {
|
||||
|
||||
+21
@@ -369,6 +369,9 @@ public class GradleFoldersImportingTest extends GradleImportingTestCase {
|
||||
\--- project1
|
||||
| \--- project2
|
||||
\--- project3
|
||||
\--- src
|
||||
\--- main
|
||||
\--- test
|
||||
*/
|
||||
createProjectSubFile("settings.gradle"
|
||||
, "include (':project1', ':project1:project2', ':project1:project3')\n" +
|
||||
@@ -397,6 +400,24 @@ public class GradleFoldersImportingTest extends GradleImportingTestCase {
|
||||
"rootName.project1.project3.test");
|
||||
assertContentRoots("rootName.project1.project3",
|
||||
FileUtil.toSystemIndependentName(new File(getProjectPath(), "project3").getAbsolutePath()));
|
||||
|
||||
getCurrentExternalProjectSettings().setUseQualifiedModuleNames(false);
|
||||
|
||||
importProject();
|
||||
assertModules("rootName",
|
||||
"project1",
|
||||
"project2",
|
||||
"project3",
|
||||
"project3_main",
|
||||
"project3_test");
|
||||
|
||||
assertContentRoots("project3",
|
||||
FileUtil.toSystemIndependentName(new File(getProjectPath(), "project3").getAbsolutePath()));
|
||||
|
||||
assertModuleGroupPath("rootName", "rootName");
|
||||
assertModuleGroupPath("project1", "rootName", "project1");
|
||||
assertModuleGroupPath("project2", "rootName", "project1", "project2");
|
||||
assertModuleGroupPath("project3", "rootName", "project1", "project3");
|
||||
}
|
||||
|
||||
protected void assertDefaultGradleJavaProjectFolders(@NotNull String mainModuleName) {
|
||||
|
||||
Reference in New Issue
Block a user