stainless
stainless copied to clipboard
Put "fat" JAR on a diet?
This is a low-priority feature request. GitHub limits individual file sizes by default to 100MB. Because we commit the fat JAR to our GitHub repo (yes, I know...), its size is limited to 100MB as well. Current master releases weigh in above 100MB, so I manually remove parts which are not strictly required for verification and/or GenC. Currently I remove the bundled Z3 solver and the ICU library, which saves ~20MB. Looking at the Fat JAR, it appears that there are many dependencies (PDF generators, Scalatest, Emoji lists and others). I don't know how these end up in the JAR - or whether they are required.
TL;DR - I'd appreciate a reduction of the fat JAR size, if there's a simple way to do so.
I found that I can remove the following parts of the JAR without negatively impacting the functionality of my hacked Win32-port:
- com/ibm/icu/impl/data/icudt59b
- lib-bin/libz3.so
Z3 is included twice in the Linux build, once as library, once as external solver.