Is your feature request related to a problem? Please describe.
paperclip is so big that I doubt if it is a patch instead of complete class files which break the GPL's linking clause.
Describe the solution you'd like
Reduce the size of paperclip
Describe alternatives you've considered
none
Additional context
none
You doubt? Why don't you go look at the code and quell that doubt? It's not like it's hidden from you. We're not breaking any GPL linking clause.
edit link: https://github.com/PaperMC/Paperclip
@simpleauthority I have read it before. I doubt if jbsdiff can generate effective patch for jar files.
Then you help them improve; this is not an issue for Paper nor Paperclip in that case.
@Proximyst jbsdiff is not designed to create patches for jar files
Then suggest an improvement. We're an open source project after all. What do you believe is better?
And "effective"? What does that mean in this context? It certainly is effective, because it works.
It's clear that you didn't even attempt to check what bsdiff is. bsdiff is designed to make patches from and apply patches to any kind of file. It's made for binary files, therefore it applies to all files.
@Proximyst I knew what bsdiff is. It's designed for executable binaries but not zip.
Binaries are binaries.
Make a better solution, then. A zip file is still diff-able as a binary after all.
@Proximyst Yes. Removing all bytes and adding some other bytes is technically diff.
@Proximyst Yes. Removing all bytes and adding some other bytes is technically
diff.
And?
@simpleauthority Executable http://www.daemonology.net/papers/bsdiff.pdf
Binaries are binaries no matter what they were made for. If you believe there's a better way, make a proof of concept for zip file patching which results in smaller binary sizes at little (negative) performance impact, or higher performance at little (negative) binary size impact.
The PDF is focusing on executables, but nothing says that bsdiff is not suitable for overall binaries (or simply a blob of data - in this case what Paperclip is doing).
@mikroskeem But bsdiff is just not suitable for Paperclip
Why?
Me, 4 minutes ago: https://github.com/PaperMC/Paper/issues/3586#issuecomment-646974737
If you believe there's a better way, make a proof of concept for zip file patching which results in smaller binary sizes at little (negative) performance impact, or higher performance at little (negative) binary size impact.
@simpleauthority Because the size is too big compared to the patched jar