From 6979e2ea2214f4942cfdd495d68d52cedd80a319 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 Dec 2012 21:16:19 +0100 Subject: [PATCH] extend supported cons (IDEA-96625) --- .../src/AbstractEclipseClasspathReader.java | 6 +++++- .../src/EclipseModuleManager.java | 11 ++++++----- .../common-eclipse-util/src/EclipseXml.java | 1 + .../config/EclipseModuleManagerImpl.java | 18 +++++++++--------- .../conversion/EclipseClasspathReader.java | 5 +++-- .../conversion/EclipseClasspathWriter.java | 6 +++--- 6 files changed, 27 insertions(+), 20 deletions(-) diff --git a/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java b/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java index 2b088e65ff18..e2b9662926bc 100644 --- a/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java +++ b/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java @@ -198,9 +198,13 @@ public abstract class AbstractEclipseClasspathReader { addJUnitDefaultLib(rootModel, junitName, macroMap); } else if (path.equals(EclipseXml.GROOVY_DSL_CONTAINER)) { - eclipseModuleManager.setGroovyDslSupport(); + eclipseModuleManager.addGroovySupport(EclipseXml.GROOVY_DSL_CONTAINER); eclipseModuleManager.registerSrcPlace(EclipseXml.GROOVY_DSL_CONTAINER, idx); } + else if (path.equals(EclipseXml.GROOVY_SUPPORT)) { + eclipseModuleManager.addGroovySupport(EclipseXml.GROOVY_SUPPORT); + eclipseModuleManager.registerSrcPlace(EclipseXml.GROOVY_SUPPORT, idx); + } else { eclipseModuleManager.registerUnknownCons(path); addNamedLibrary(rootModel, new ArrayList(), exported, path, true); diff --git a/plugins/eclipse/common-eclipse-util/src/EclipseModuleManager.java b/plugins/eclipse/common-eclipse-util/src/EclipseModuleManager.java index b7b28bbccaa4..1aa34e21763d 100644 --- a/plugins/eclipse/common-eclipse-util/src/EclipseModuleManager.java +++ b/plugins/eclipse/common-eclipse-util/src/EclipseModuleManager.java @@ -15,6 +15,7 @@ */ package org.jetbrains.idea.eclipse; +import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.Nullable; import java.util.Set; @@ -29,9 +30,9 @@ public interface EclipseModuleManager { @Nullable String getInvalidJdk(); - void setGroovyDslSupport(); + void addGroovySupport(String name); - boolean isGroovyDslSupport(); + String[] getGroovySupport(); void registerEclipseVariablePath(String path, String var); @@ -86,11 +87,11 @@ public interface EclipseModuleManager { } @Override - public void setGroovyDslSupport() {} + public void addGroovySupport(String name) {} @Override - public boolean isGroovyDslSupport() { - return false; + public String[] getGroovySupport() { + return ArrayUtil.EMPTY_STRING_ARRAY; } @Override diff --git a/plugins/eclipse/common-eclipse-util/src/EclipseXml.java b/plugins/eclipse/common-eclipse-util/src/EclipseXml.java index 3ad13ac557da..f8a35cc63a8a 100644 --- a/plugins/eclipse/common-eclipse-util/src/EclipseXml.java +++ b/plugins/eclipse/common-eclipse-util/src/EclipseXml.java @@ -42,6 +42,7 @@ public interface EclipseXml { @NonNls String USER_LIBRARY = "org.eclipse.jdt.USER_LIBRARY"; @NonNls String JUNIT_CONTAINER = "org.eclipse.jdt.junit.JUNIT_CONTAINER"; @NonNls String GROOVY_DSL_CONTAINER = "GROOVY_DSL_SUPPORT"; + @NonNls String GROOVY_SUPPORT = "GROOVY_SUPPORT"; @NonNls String JUNIT3 = JUNIT_CONTAINER + "/" + "3.8.1"; @NonNls String JUNIT4 = JUNIT_CONTAINER + "/" + "4"; @NonNls String ECLIPSE_PLATFORM = "org.eclipse.pde.core.requiredPlugins"; diff --git a/plugins/eclipse/src/org/jetbrains/idea/eclipse/config/EclipseModuleManagerImpl.java b/plugins/eclipse/src/org/jetbrains/idea/eclipse/config/EclipseModuleManagerImpl.java index b2a2f6f57367..8ac2a9d1c500 100644 --- a/plugins/eclipse/src/org/jetbrains/idea/eclipse/config/EclipseModuleManagerImpl.java +++ b/plugins/eclipse/src/org/jetbrains/idea/eclipse/config/EclipseModuleManagerImpl.java @@ -23,15 +23,13 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleServiceManager; import com.intellij.openapi.roots.impl.storage.ClasspathStorage; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.ArrayUtil; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.idea.eclipse.EclipseModuleManager; import org.jetbrains.jps.eclipse.model.JpsEclipseClasspathSerializer; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; @State( name = "EclipseModuleManager", @@ -64,7 +62,8 @@ public class EclipseModuleManagerImpl implements EclipseModuleManager, Persisten private int myExpectedModuleSourcePlace; private Map mySrcPlace = new LinkedHashMap(); private String myInvalidJdk; - private boolean myGroovyDslSupport = false; + + private Set myGroovyDslSupport = new LinkedHashSet(); public EclipseModuleManagerImpl(Module module) { myModule = module; @@ -81,13 +80,13 @@ public class EclipseModuleManagerImpl implements EclipseModuleManager, Persisten } @Override - public void setGroovyDslSupport() { - myGroovyDslSupport = true; + public void addGroovySupport(String name) { + myGroovyDslSupport.add(name); } @Override - public boolean isGroovyDslSupport() { - return myGroovyDslSupport; + public String[] getGroovySupport() { + return ArrayUtil.toStringArray(myGroovyDslSupport); } public static EclipseModuleManagerImpl getInstance(Module module) { @@ -261,6 +260,7 @@ public class EclipseModuleManagerImpl implements EclipseModuleManager, Persisten myEclipseVariablePaths.clear(); myUnknownCons.clear(); mySrcPlace.clear(); + myGroovyDslSupport.clear(); } @Override diff --git a/plugins/eclipse/src/org/jetbrains/idea/eclipse/conversion/EclipseClasspathReader.java b/plugins/eclipse/src/org/jetbrains/idea/eclipse/conversion/EclipseClasspathReader.java index b315a9a7d5a6..422d6f8ff607 100644 --- a/plugins/eclipse/src/org/jetbrains/idea/eclipse/conversion/EclipseClasspathReader.java +++ b/plugins/eclipse/src/org/jetbrains/idea/eclipse/conversion/EclipseClasspathReader.java @@ -98,10 +98,11 @@ public class EclipseClasspathReader extends AbstractEclipseClasspathReader