summaryrefslogtreecommitdiff
path: root/plugins/eclipse/jps-plugin/src/org/jetbrains/jps/eclipse/model/JpsIdeaSpecificSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/eclipse/jps-plugin/src/org/jetbrains/jps/eclipse/model/JpsIdeaSpecificSettings.java')
-rw-r--r--plugins/eclipse/jps-plugin/src/org/jetbrains/jps/eclipse/model/JpsIdeaSpecificSettings.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/plugins/eclipse/jps-plugin/src/org/jetbrains/jps/eclipse/model/JpsIdeaSpecificSettings.java b/plugins/eclipse/jps-plugin/src/org/jetbrains/jps/eclipse/model/JpsIdeaSpecificSettings.java
index 9d722746650e..593ce86b4f0b 100644
--- a/plugins/eclipse/jps-plugin/src/org/jetbrains/jps/eclipse/model/JpsIdeaSpecificSettings.java
+++ b/plugins/eclipse/jps-plugin/src/org/jetbrains/jps/eclipse/model/JpsIdeaSpecificSettings.java
@@ -18,11 +18,13 @@ package org.jetbrains.jps.eclipse.model;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.SystemInfo;
+import com.intellij.openapi.util.io.FileUtil;
import com.intellij.util.ArrayUtil;
import org.jdom.Element;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.eclipse.IdeaXml;
import org.jetbrains.idea.eclipse.conversion.AbstractIdeaSpecificSettings;
+import org.jetbrains.jps.model.JpsSimpleElement;
import org.jetbrains.jps.model.java.*;
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
import org.jetbrains.jps.model.module.JpsDependenciesList;
@@ -31,6 +33,7 @@ import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
import org.jetbrains.jps.model.serialization.JpsMacroExpander;
import org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer;
+import java.io.File;
import java.util.List;
import java.util.Map;
@@ -150,6 +153,25 @@ class JpsIdeaSpecificSettings extends AbstractIdeaSpecificSettings<JpsModule, St
}
model.addSourceRoot(url, JavaSourceRootType.TEST_SOURCE);
}
+
+ for (Object o : root.getChildren(IdeaXml.EXCLUDE_FOLDER_TAG)) {
+ final String excludeUrl = ((Element)o).getAttributeValue(IdeaXml.URL_ATTR);
+ if (FileUtil.isAncestor(new File(contentUrl), new File(excludeUrl), false)) {
+ model.getExcludeRootsList().addUrl(excludeUrl);
+ }
+ }
+
+ for (Object o : root.getChildren(IdeaXml.PACKAGE_PREFIX_TAG)) {
+ Element ppElement = (Element)o;
+ final String prefix = ppElement.getAttributeValue(IdeaXml.PACKAGE_PREFIX_VALUE_ATTR);
+ final String url = ppElement.getAttributeValue(IdeaXml.URL_ATTR);
+ for (JpsModuleSourceRoot sourceRoot : model.getSourceRoots()) {
+ if (Comparing.strEqual(sourceRoot.getUrl(), url)) {
+ ((JpsSimpleElement)sourceRoot.getProperties()).setData(new JavaSourceRootProperties(prefix));
+ break;
+ }
+ }
+ }
}
private static JpsJavaExtensionService getService() {