diff options
Diffstat (limited to 'plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java')
-rw-r--r-- | plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java b/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java index e2b9662926bc..22dce5bfe9f9 100644 --- a/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java +++ b/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java @@ -78,7 +78,8 @@ public abstract class AbstractEclipseClasspathReader<T> { final String testPattern, Element element, int idx, final EclipseModuleManager eclipseModuleManager, - final ExpandMacroToPathMap macroMap) throws ConversionException { + final ExpandMacroToPathMap macroMap, + final Set<String> libs) throws ConversionException { String kind = element.getAttributeValue(EclipseXml.KIND_ATTR); if (kind == null) { throw new ConversionException("Missing classpathentry/@kind"); @@ -132,7 +133,7 @@ public abstract class AbstractEclipseClasspathReader<T> { } else if (kind.equals(EclipseXml.LIB_KIND)) { - final String libName = getPresentableName(path); + final String libName = getPresentableName(path, libs); final String linked = expandLinkedResourcesPath(macroMap, usedVariables, path); @@ -168,7 +169,7 @@ public abstract class AbstractEclipseClasspathReader<T> { throw new ConversionException("Incorrect 'classpathentry/var@path' format"); } - final String libName = getPresentableName(path); + final String libName = getPresentableName(path, libs); final String url = eclipseVariabledPath2Url(macroMap, usedVariables, path, 0); eclipseModuleManager.registerEclipseVariablePath(url, path); @@ -221,7 +222,13 @@ public abstract class AbstractEclipseClasspathReader<T> { @NotNull protected static String getPresentableName(@NotNull String path) { + return getPresentableName(path, null); + } + + @NotNull + protected static String getPresentableName(@NotNull String path, Set<String> names) { final String pathComponent = getLastPathComponent(path); + if (pathComponent != null && names != null && !names.add(pathComponent)) return path; return pathComponent != null ? pathComponent : path; } |