diff --git a/desktop/build.gradle b/desktop/build.gradle index 75523ef5ec..497c12f105 100644 --- a/desktop/build.gradle +++ b/desktop/build.gradle @@ -49,14 +49,20 @@ for(platform in PackrConfig.Platform.values()) { def jarFile = "desktop/build/libs/${appName}.jar".toString() PackrConfig config = new PackrConfig() config.platform = platform - config.jdk = System.env.'JAVA_HOME' // For Travis -// config.jdk = "C:/Users/LENOVO/Downloads/java-1.8.0-openjdk-1.8.0.232-1.b09.ojdkbuild.windows.x86_64.zip" +// config.jdk = System.env.'JAVA_HOME' // For Travis + config.jdk = "C:/Users/LENOVO/Downloads/java-1.8.0-openjdk-1.8.0.232-1.b09.ojdkbuild.windows.x86_64.zip" config.executable = "Unciv" config.classpath = Arrays.asList(jarFile) config.removePlatformLibs = config.classpath config.mainClass = project.ext.mainClassName config.vmArgs = Arrays.asList("Xmx1G") - config.minimizeJre = "hard" + // configuration comprised from 3 sources: + // https://github.com/libgdx/packr/blob/master/src/main/resources/minimize/hard + // https://github.com/libgdx/packr/blob/master/src/main/resources/minimize/oraclejre8 + // And Mindustry, + // and added a few touches of my own. + // Down from ~80MB to ~50MB! + config.minimizeJre = "desktop/packrConfig.json" config.outDir = file("packr") config.cacheJre=file("packrCache") diff --git a/desktop/pack.bat b/desktop/pack.bat deleted file mode 100644 index 9d2ef0a64b..0000000000 --- a/desktop/pack.bat +++ /dev/null @@ -1,13 +0,0 @@ -rem See https://github.com/libgdx/packr - -java -jar packr.jar \ - --platform windows64 \ - --jdk openjdk-1.7.0-u45-unofficial-icedtea-2.4.3-macosx-x86_64-image.zip \ - --executable myapp \ - --classpath myapp.jar \ - --removelibs myapp.jar \ - --mainclass com.my.app.MainClass \ - --vmargs Xmx1G \ - --resources src/main/resources path/to/other/assets \ - --minimizejre soft \ - --output out-mac \ No newline at end of file diff --git a/desktop/packr.jar b/desktop/packr.jar deleted file mode 100644 index 103041d744..0000000000 Binary files a/desktop/packr.jar and /dev/null differ diff --git a/desktop/packrConfig.json b/desktop/packrConfig.json new file mode 100644 index 0000000000..631caa5a4c --- /dev/null +++ b/desktop/packrConfig.json @@ -0,0 +1,153 @@ +{ + "reduce": [ + { + "archive": "jre/lib/rt.jar", + "paths": [ + "com/sun/corba", + "com/sun/jmx", + "com/sun/jndi", + "com/sun/media", + "com/sun/naming", + "com/sun/org", + "com/sun/rowset", + "com/sun/script", + "com/sun/xml", + "sun/applet", + "sun/corba", + "sun/management" + ] + }, + { + "archive": "jre/lib/charsets.jar", + "paths": [ + ] + }, + { + "archive": "jre/lib/jsse.jar", + "paths": [ + ] + }, + { + "archive": "jre/lib/resources.jar", + "paths": [ + ] + } + ], + "remove": [ + { + "platform": "*", + "paths": [ + "jre/lib/rhino.jar", + + + + "jre/lib/ext", + "jre/bin/rmid", + "jre/bin/rmiregistry", + "jre/bin/tnameserv", + "jre/bin/keytool", + "jre/bin/policytool", + "jre/bin/orbd", + "jre/bin/servertool", + "jre/bin/javaws", + "jre/lib/javaws.jar", + "jre/lib/jfr.jar", + "jre/lib/oblique-fonts", + "jre/lib/desktop", + "jre/plugin", + + + "jre/THIRDPARTYLICENSEREADME-JAVAFX.txt", + "jre/lib/ant-javafx.jar", + "jre/lib/javafx.properties", + "jre/lib/jfxswt.jar", + + + "jre/lib/fonts" + ] + }, + { + "platform": "linux", + "paths": [ + "jre/lib/amd64/libawt.so", + "jre/lib/amd64/libawt_xawt.so", + "jre/lib/amd64/libjawt.so", + "jre/lib/amd64/libhprof.so", + "jre/lib/amd64/libdt_socket.so", + "jre/lib/amd64/libsplashscreen.so", + "jre/lib/amd64/libunpack.so", + "jre/lib/amd64/liblcms.so", + "jre/lib/amd64/libnpt.so", + "jre/lib/amd64/libmlib_image.so", + "jre/lib/amd64/libjsig.so", + "jre/lib/amd64/libinstrument.so", + "jre/lib/amd64/libjaas_unix.so", + "jre/lib/amd64/libj2pcsc.so", + "jre/lib/amd64/libsaproc.so", + "jre/lib/amd64/libsunec.so", + "jre/lib/amd64/libj2pkcs11.so", + "jre/lib/amd64/libjsdt.so", + "jre/lib/amd64/libjdwp.so", + "jre/lib/amd64/libjava_crw_demo.so", + "jre/lib/amd64/libfreetype.so", + "jre/lib/amd64/libmanagement.so", + "jre/lib/amd64/libsctp.so", + "jre/lib/amd64/libj2gss.so", + "jre/lib/amd64/libjpeg.so", + "jre/lib/amd64/libfreetype.so.6", + "jre/lib/amd64/libjsoundalsa.so", + "jre/lib/amd64/libjsound.so", + "jre/lib/amd64/libattach.so", + "jre/lib/amd64/libawt_headless.so", + "jre/lib/amd64/libfontmanager.so" + ] + }, + { + "platform": "windows", + "paths": [ + "jre/bin/*.exe", + "jre/bin/client", + "jre/bin/awt.dll", + + + "jre/bin/jfr.dll", + + "jre/bin/java.exe", + "jre/bin/javaw.exe", + "jre/bin/javacpl.exe", + "jre/bin/jucheck.exe", + "jre/bin/dtplugin", + "jre/bin/jabswitch.exe", + "jre/bin/java_crw_demo.dll", + "jre/bin/JavaAccessBridge-32.dll", + "jre/bin/JavaAccessBridge.dll", + "jre/bin/JAWTAccessBridge-32.dll", + "jre/bin/JAWTAccessBridge.dll", + "jre/bin/WindowsAccessBridge-32.dll", + "jre/bin/WindowsAccessBridge.dll", + "jre/bin/wsdetect.dll", + "jre/bin/plugin2", + "jre/bin/deploy.dll", + "jre/bin/javacpl.cpl", + "jre/lib/deploy.jar", + "jre/lib/plugin.jar", + "jre/lib/deploy", + + "jre/bin/decora-sse.dll", + "jre/bin/fxplugins.dll", + "jre/bin/glass.dll", + "jre/bin/glib-lite.dll", + "jre/bin/gstreamer-lite.dll", + "jre/bin/javafx-font.dll", + "jre/bin/javafx_font_t2k.dll", + "jre/bin/javafx-iio.dll", + "jre/bin/jfxmedia.dll", + "jre/bin/jfxwebkit.dll", + "jre/bin/prism_common.dll", + "jre/bin/prism-d3d.dll", + "jre/bin/prism_es2.dll", + "jre/bin/prism_sw.dll" + ] + } + ] +} \ No newline at end of file