Build cross platform .jar files
sleeyax opened this issue · 0 comments
sleeyax commented
Ideally, instead of having a release that looks like this
burp-awesome-tls.jar
*-server.dll
*-server.so
*-server.dylib
We should have something like this:
burp-awesome-tls-linux-x64.jar
burp-awesome-tls-win-x64.jar
This is much more user friendly.
Thinking further, we could also release an actual cross platform 'fat jar' burp-awesome-tls-fat.jar
that contains all server binaries for all supported platforms (i.e. most popular win, mac and linux). This jar would be significantly bigger in size, but it would work everywhere and could be dragged around on an USB stick for example.
I'm not sure how this build process should look like though. I think we'd need something like this, unless I'm missing something obvious:
- go build action builds all binaries and places them in
./src-go/server/build
- a custom script copies each binary into
src/java/resources
with the correct JNA{OS}-{ARCH}
folder name and builds the jar file each time one gets copied, plus cleans up afterwards (i.e delete theresources/{OS}-{ARCH}
that was created) - a custom script copies all binaries to
resources
and builds the fatjar