ClasspathUpdater: remove trailing slash from source path if any
Change-Id: Ifb50c546d535bd234a069e3f1bbabb3be49d6de6
diff --git a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/ClasspathUpdater.java b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/ClasspathUpdater.java
index 39c66c1..ca76ab2 100644
--- a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/ClasspathUpdater.java
+++ b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/ClasspathUpdater.java
@@ -102,6 +102,17 @@
// Workaround here merges fresh classpath with the original one.
IClasspathEntry[] origCP = JavaCore.create(project).getRawClasspath();
IClasspathEntry[] freshCP = ClasspathComputer.getClasspath(project, model, null, true, true);
+
+ // remove trailing slash from source path if any:
+ for (int i = 0; i < freshCP.length; i++) {
+ IClasspathEntry old = freshCP[i];
+ if (old.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+ IPath path = old.getPath().removeTrailingSeparator();
+ freshCP[i] = JavaCore.newSourceEntry(path, old.getInclusionPatterns(),
+ old.getExclusionPatterns(), old.getOutputLocation(), old.getExtraAttributes());
+ }
+ }
+
Map<IPath, IClasspathEntry> collectedCPofPath = Stream.concat(Stream.of(freshCP), Stream.of(origCP))
.collect(Collectors.toMap(e -> keyOf(e), e -> e, (first, dupe) -> first));