From b3770051914f6b87187ee87cd827655e6082889f Mon Sep 17 00:00:00 2001 From: LexManos Date: Fri, 19 Apr 2024 17:59:12 -0700 Subject: [PATCH] Bump ASM and fix providers with comments --- build.gradle | 1 + settings.gradle | 2 +- .../java/cpw/mods/jarhandling/impl/Jar.java | 22 ++++++++++++++----- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index d7f61d7..ba403e6 100644 --- a/build.gradle +++ b/build.gradle @@ -31,6 +31,7 @@ dependencies { configurations.all { outgoing { + capability("net.minecraftforge:$project.name:$version") // For sub modules, they require the exact casing of the name capability("net.minecraftforge:securemodules:$version") capability("cpw.mods:securejarhandler:$version") } diff --git a/settings.gradle b/settings.gradle index 89d5cef..cb3a918 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,7 +12,7 @@ plugins { dependencyResolutionManagement { versionCatalogs { libs { - version('asm', '9.6') + version('asm', '9.7') library('asm', 'org.ow2.asm', 'asm' ).versionRef('asm') library('asm-tree', 'org.ow2.asm', 'asm-tree' ).versionRef('asm') library('asm-commons', 'org.ow2.asm', 'asm-commons').versionRef('asm') diff --git a/src/main/java/cpw/mods/jarhandling/impl/Jar.java b/src/main/java/cpw/mods/jarhandling/impl/Jar.java index 539efb6..ce7c7a0 100644 --- a/src/main/java/cpw/mods/jarhandling/impl/Jar.java +++ b/src/main/java/cpw/mods/jarhandling/impl/Jar.java @@ -292,11 +292,23 @@ private List gatherProviders(BiPredicate filter) { public static Provider getProvider(Path path, BiPredicate filter) { var sname = path.getFileName().toString(); try { - var entries = Files.readAllLines(path).stream() - .map(String::trim) - .filter(l -> l.length() > 0 && !l.startsWith("#")) - .filter(p -> filter == null || filter.test(p.replace('.', '/'), "")) - .toList(); + var entries = new ArrayList(); + for (var line : Files.readAllLines(path)) { + int idx = line.indexOf('#'); + if (idx != -1) + line = line.substring(0, idx); + line = line.trim(); + + if (line.isEmpty()) + continue; + + if (filter != null && !filter.test(line.replace('.', '/'), "")) + continue; + + entries.add(line); + + } + return new Provider(sname, entries); } catch (IOException e) { return sneak(e);