From b19ca8ee9903df2e26b39a31b4586df98b584793 Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Thu, 7 Sep 2017 14:02:27 +0200 Subject: [PATCH] logic: fixed Java classpath delimiter issue on unix systems --- .../java/com/sourcetrail/JavaIndexer.java | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java b/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java index 91f5944e..5f0bd385 100644 --- a/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java +++ b/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java @@ -2,7 +2,9 @@ package com.sourcetrail; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayList; import java.util.Hashtable; +import java.util.List; import org.eclipse.jdt.core.JavaCore; import org.eclipse.jdt.core.compiler.IProblem; @@ -41,30 +43,22 @@ public class JavaIndexer parser.setUnitName(path.getFileName().toString()); - String sources = ""; - String classpath = ""; + List classpath = new ArrayList<>(); + List sources = new ArrayList<>(); for (String classPathEntry: classPath.split("\\;")) { if (classPathEntry.endsWith(".jar")) { - if (!classpath.isEmpty()) - { - classpath += ";"; - } - classpath += classPathEntry; + classpath.add(classPathEntry); } else if (!classPathEntry.isEmpty()) { - if (!sources.isEmpty()) - { - sources += ";"; - } - sources += classPathEntry; + sources.add(classPathEntry); } } - parser.setEnvironment(new String[] {classpath} , new String[] {sources}, new String[] {"UTF-8"}, true); + parser.setEnvironment(classpath.toArray(new String[0]), sources.toArray(new String[0]), null, true); parser.setSource(fileContent.toCharArray()); CompilationUnit cu = (CompilationUnit) parser.createAST(null);