Commit Graph

111 Commits

Author SHA1 Message Date
Michael Bayne f8efdea9ed Oops, committed that a bit too hastily. 2018-09-05 16:11:20 -07:00
Michael Bayne 3c9a023ec6 Provide a Charset to readAllLines. 2018-09-05 15:51:20 -07:00
Michael Bayne cc8ed1cd3a Create simple integration test for digester process.
Much of this lived in the separate testapp, but we can exercise a lot of the
code as an integration test in the main project, so let's do so.
2018-09-05 15:46:42 -07:00
Daniel Gredler 1f2c736564 Unsafe public fields in UpdateInterface class: make public fields final
This commit makes the UpdateInterface class immutable. The Config -> UpdateInterface initialization is moved to the UpdateInterface constructor. Default values for the fields are moved to the constructor as well. Instances of String[] are changed to List<String> and made immutable. Instances of java.awt.Rectangle (which is mutable) are replaced with a new immutable com.threerings.getdown.util.Rectangle class.

Although java.awt.Color is (sort of) immutable, it was also removed and replaced with a new immutable com.threerings.getdown.util.Color class, since it was the last dependency from the getdown core module to anything in the java.awt package, which means that when we migrate to Java 9+ the core module should no longer require a dependency on the java.desktop module.

The assertions and expected values in ColorTest have been verified against the corresponding java.awt.Color values.

(Triggered by internal security audit and Fortify analysis.)
2018-09-05 17:07:58 -04:00
Michael Bayne be5490dce7 Merged the tools module into core.
It wasn't actually providing any value. Neither tools nor core have any special
dependencies. The code in tools operates on the same files, formats and data
structures that core/runtime code operates on. It is simpler to have them in
the same module.
2018-09-04 16:06:37 -07:00
Michael Bayne 97ec8632ae Eliminate samskivert dependency in core.
I've long wanted to do this, but the launcher's use of all the samskivert UI
stuff made it onerous. Now that the launcher is a separate module, we can
remove the samskivert dependency in core (and tools), which simplifies things
and makes it easier to depend on core in a (future) self-updating app (when we
add support for that).
2018-09-04 13:54:40 -07:00
Michael Bayne 852d15a033 Change groupId to com.threerings.getdown.
I don't want to pollute the com.threerings top-level namespace with a bunch of
getdown-foo artifacts, and grouping everything under the top-level project
name, even when that name is repeated for all the artifacts is fairly standard
practice.
2018-09-04 12:36:48 -07:00
Michael Bayne a21657d6d0 Target 1.8-SNAPSHOT.
The new multi-module Getdown will be 1.8.
2018-09-04 12:33:38 -07:00
Michael Bayne 2cb99ed04d Use existing utility method.
This also avoids the weird old structure that closed an auto-closed input
stream inside the try-with-resources block.
2018-09-04 12:31:46 -07:00
Michael Bayne 8195460ee2 Remove obsolete Applet code. 2018-09-04 12:31:46 -07:00
Michael Bayne 4c383f99c7 Split Getdown into multiple (Maven) modules.
- 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.
2018-09-04 12:31:46 -07:00