From 9ec52f2e301f492bd2427d4845e7eaf88e74947c Mon Sep 17 00:00:00 2001 From: Alexey Parfenov Date: Thu, 4 Apr 2013 17:28:42 +0400 Subject: [PATCH] fix broken feature - import folders from build-helper-maven-plugin config @see org.jetbrains.idea.maven.importing.FoldersImportingTest.testPluginSources --- .../maven/importing/MavenFoldersImporter.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) mode change 100644 => 100755 plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java old mode 100644 new mode 100755 index fc5e457217d0..5f1d3729f6eb --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java @@ -27,6 +27,7 @@ import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.util.Pair; import com.intellij.util.ArrayUtil; import gnu.trove.THashMap; +import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.maven.model.MavenResource; import org.jetbrains.idea.maven.project.MavenImportingSettings; @@ -120,6 +121,8 @@ public class MavenFoldersImporter { testFolders.add(each.getDirectory()); } + addBuilderHelperPaths("add-source", sourceFolders); + addBuilderHelperPaths("add-test-source", testFolders); List> allFolders = new ArrayList>(sourceFolders.size() + testFolders.size()); for (String each : sourceFolders) { @@ -134,6 +137,19 @@ public class MavenFoldersImporter { } } + private void addBuilderHelperPaths(String goal, List folders) { + final Element configurationElement = myMavenProject.getPluginGoalConfiguration("org.codehaus.mojo", "build-helper-maven-plugin", goal); + if (configurationElement != null) { + final Element sourcesElement = configurationElement.getChild("sources"); + if (sourcesElement != null) { + //noinspection unchecked + for (Element element : (List)sourcesElement.getChildren()) { + folders.add(element.getTextTrim()); + } + } + } + } + @NotNull private static List> normalize(@NotNull List> folders) { List> result = new ArrayList>(folders.size());