- core: the main Getdown logic code
- tools: code to create digest.txt & patch files
- launcher: the standalone launcher/updater app
- ant: the Ant task for creating digest.txt files
This paves the way for a proper Jigsaw-ification of the Getdown code.
I may further factor code out of getdown-launcher and into getdown-core to
enable the use-case where an app embeds Getdown completely and does not use the
launcher app/UI. That will also make it easier to create a JavaFX UI and retire
the old Swing UI.
This also moves the obsolete applet code into a separate applet module, which
is merely a temporary holding area. It will be deleted in the next commit.
This upgrades a bunch of Maven plugins, upgrades Proguard to 6.0, and adds some
fiddly profile stuff to point Proguard at the right set of JDK jmods since
rt.jar no longer exists for Java 9, and ignores a bunch more samskivert library
stuff since it references Java modules that we don't use (like java.sql).
Whenever 'use_code_cache' is set to 'true' the application's code
resources are copied to a cache directory prior to launching the
application. This is done in order to support multiple open application
instances of different versions.
The "Trusted-Library" manifest attribute is required for Applets and
Java Web Start. Otherwise classes from the Getdown package might be
silently ignored (ClassNotFoundException).
We have an ant build.xml and a maven pom.xml. At some point I guess the
build switched to maven, which didn't have the special manifest to use
for the jar to work around all the Java permission changes. If you want
getdown to work with the latest Java, you will need to use this update.
Proguard 5.x finally supports Java 8. We don't compile Getdown to Java 8
bytecode, but Progaurd has to grok the stdlib of the JVM being used to run
Proguard, which previously meant that we couldn't compile Getdown with a Java 8
JVM, which was annoying. Now we can. Yay!