Skip to content

Migrating from 1.7 to 1.8

TurekBot edited this page Dec 27, 2018 · 1 revision

Migrating from Getdown 1.7 to 1.8

Prior to Getdown 1.8, everything needed to use Getdown was published as a single jar file. This was convenient, but required playing a bit fast and loose with dependencies as the single jar file contained both the runtime Getdown code and the code needed for build tools when generating an app distribution.

Starting with Getdown 1.8, the project was split into multiple Maven modules, each with minimal and appropriate dependencies.

  • core - contains the main logic for reading app manifests (the getdown.txt file) and updating and verifying an apps code and resources, as well as logic for generating digest.txt files and JarDiff patch files
  • launcher - contains the Getdown launcher "application", which handles downloading, updating and running the target application
  • ant - contains the code to integrate with the Ant build tool to generate digest.txt files as part of an automated build

(Note that the Maven integration lives in separate projects maintained by a third parties.)

Build integration changes

The three main changes needed to update your build to use the new multimodule Getdown are:

  • The old Maven artifact for the launcher was com.threerings:getdown, the new artifact is com.threerings.getdown:getdown-launcher.
  • The old Maven artifact for Ant integration (which some Maven builds used in conjunction with the maven-antrun-plugin) was com.threerings:getdown, the new artifact is com.threerings.getdown:getdown-ant.
  • The old Maven artifact on which to depend if you used Getdown code in your app (for example to use LaunchUtil.updateVersionAndRelaunch) was com.threerings:getdown, the new artifact is com.threerings.getdown:getdown-core.

You can see this commit to the getdown-testapp to see exactly what was needed to migrate that simple application from Getdown 1.7 to 1.8.

Clone this wiki locally