summaryrefslogtreecommitdiff
path: root/plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java')
-rw-r--r--plugins/eclipse/common-eclipse-util/src/AbstractEclipseClasspathReader.java13
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;
}