From ba5f05c32d302a2e66649579188a64bef7dfeef3 Mon Sep 17 00:00:00 2001 From: LexManos Date: Mon, 9 Aug 2021 17:42:59 -0700 Subject: [PATCH] Use fileName.startsWith instead of contains. Should make filters a bit more strict. Closes #6 --- .gitignore | 1 + .../cpw/mods/bootstraplauncher/BootstrapLauncher.java | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 954bc32..a8e8e53 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /bin/ /.classpath /.project +/repo/ diff --git a/src/main/java/cpw/mods/bootstraplauncher/BootstrapLauncher.java b/src/main/java/cpw/mods/bootstraplauncher/BootstrapLauncher.java index 24e3454..bda8fc5 100644 --- a/src/main/java/cpw/mods/bootstraplauncher/BootstrapLauncher.java +++ b/src/main/java/cpw/mods/bootstraplauncher/BootstrapLauncher.java @@ -22,7 +22,6 @@ import java.util.Set; import java.util.function.BiPredicate; import java.util.function.Consumer; -import java.util.stream.Collectors; public class BootstrapLauncher { private static final boolean DEBUG = System.getProperties().containsKey("bsl.debug"); @@ -30,7 +29,7 @@ public class BootstrapLauncher { public static void main(String[] args) { var legacyCP = loadLegacyClassPath(); System.setProperty("legacyClassPath", String.join(File.pathSeparator, legacyCP)); //Ensure backwards compatibility if somebody reads this value later on. - var ignoreList = System.getProperty("ignoreList", "/org/ow2/asm/,securejarhandler"); //TODO: find existing modules automatically instead of taking in an ignore list. + var ignoreList = System.getProperty("ignoreList", "asm,securejarhandler"); //TODO: find existing modules automatically instead of taking in an ignore list. var ignores = ignoreList.split(","); var previousPkgs = new HashSet(); @@ -40,18 +39,20 @@ public static void main(String[] args) { outer: for (var legacy : legacyCP) { + var path = Paths.get(legacy); + var filename = path.getFileName().toString(); + for (var filter : ignores) { - if (legacy.contains(filter)) { + if (filename.startsWith(filter)) { if (DEBUG) System.out.println(legacy + " IGNORED: " + filter); continue outer; } } - var path = Paths.get(legacy); if (DEBUG) System.out.println(path); - var filename = path.getFileName().toString(); + if (filenameMap.containsKey(filename)) { mergeMap.computeIfAbsent(filenameMap.get(filename), k -> new ArrayList<>()).add(path); continue;