neoforged / installertools Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Lesser General Public License v2.1
License: GNU Lesser General Public License v2.1
Currently when you attempt to run the installer on a corrupt zip you get an output such as
Exception in thread "main" java.util.zip.ZipError: zip END header not found
at com.sun.nio.zipfs.ZipFileSystem.zerror(ZipFileSystem.java:1661)
at com.sun.nio.zipfs.ZipFileSystem.findEND(ZipFileSystem.java:1040)
at com.sun.nio.zipfs.ZipFileSystem.initCEN(ZipFileSystem.java:1049)
at com.sun.nio.zipfs.ZipFileSystem.<init>(ZipFileSystem.java:130)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:139)
at java.nio.file.FileSystems.newFileSystem(FileSystems.java:390)
at net.neoforged.cliutils.JarUtils.getFileCountInZip(JarUtils.java:15)
at net.neoforged.jarsplitter.ConsoleTool.main(ConsoleTool.java:96)
(this particular output is from running jar splitter from the console with a corrupt Minecraft jar (.minecraft/versions/1.21/1.21.jar) passed in)
This error and stacktrace is slightly helpful at figuring out what is wrong, until I go look at that class and see there are four possible files that it could be throwing on. And for the average user that has no idea what zip END header not found
means (the zip is bad, most likely corrupt), or how to read code so it is of no help to them.
A similar situation can happen in other places in the code, where zips are just opened and assumed to be good, causing annoying to debug errors when they are not.
Examples of this happening, from the NeoForge discord: 1 2.
I see two potential solutions could to fix this.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These branches will be created by Renovate only once you click their checkbox below.
org.junit.jupiter:junit-jupiter-engine
, org.junit.jupiter:junit-jupiter-api
).github/workflows/build-prs.yml
.github/workflows/publish-prs.yml
.github/workflows/release.yml
settings.gradle
org.junit.jupiter:junit-jupiter-api 5.10.0
org.junit.jupiter:junit-jupiter-engine 5.10.0
org.junit.platform:junit-platform-launcher 1.10.0
org.assertj:assertj-core 3.25.1
net.neoforged:srgutils 1.0.0
net.sf.jopt-simple:jopt-simple 5.0.4
com.github.jponge:lzma-java 1.3
com.nothome:javaxdelta 2.0.1
build.gradle
org.cadixdev.licenser 0.6.1
com.github.johnrengelman.shadow 8.1.1
net.neoforged.gradleutils 3.0.0-alpha.10
com.google.code.gson:gson 2.8.9
net.md-5:SpecialSource 1.11.0
de.siegmar:fastcsv 2.0.0
org.ow2.asm:asm-commons 9.3
binarypatcher/build.gradle
cli-utils/build.gradle
jarsplitter/build.gradle
zipinject/build.gradle
gradle/wrapper/gradle-wrapper.properties
gradle 8.8
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.