bb6a6c3a64
There's no longer a single jar file to talk about, and sending people to the directory saves us from having to update README every time we do a release. Fixes #152
94 lines
4.1 KiB
Markdown
94 lines
4.1 KiB
Markdown
## What is it?
|
|
|
|
Getdown (yes, it's the funky stuff) aims to provide a system for downloading and installing a
|
|
collection of files on a user's machine and upgrading those files as needed. Though just any
|
|
collection of files would do, Getdown is mainly intended for the distribution and maintenance of
|
|
the collection of files that make up a Java application.
|
|
|
|
It was designed as a replacement for [Java Web Start](http://java.sun.com/products/javawebstart/)
|
|
due to limitations in Java Web Start's architecture which are outlined in the
|
|
[rationale](https://github.com/threerings/getdown/wiki/Rationale) section.
|
|
|
|
## How do I use it?
|
|
|
|
A tutorial and more detailed specification are available from the [Documentation] page. Questions
|
|
can be posted to the [OOO Libs Google group].
|
|
|
|
## How does it work?
|
|
|
|
The main design and operation of Getdown is detailed on the
|
|
[design](https://github.com/threerings/getdown/wiki/Design) page. You can also browse the
|
|
[javadoc documentation] and [source code] if you're interested in implementation details.
|
|
|
|
## Where can I see it in action?
|
|
|
|
Getdown was originally written by developers at [OOO] for the deployment of their Java-based
|
|
massively multiplayer games. Try out any of the following games to see it in action:
|
|
|
|
* [Puzzle Pirates](http://www.puzzlepirates.com/) - OOO
|
|
* [Spiral Knights](http://spiralknights.com) - OOO
|
|
|
|
Getdown is implemented in Java, but certainly can be used to deploy non-Java-based applications.
|
|
Doing so would be a little crazy since you may have to install a JVM on the user's machine (if they
|
|
don't already have one installed), which is a ~7MB download. This isn't so bad if you're already
|
|
installing a Java application and must have a JVM, but it's a little crazy if the JVM is only used
|
|
for your installer. It is probably possible to compile Getdown with
|
|
[GCJ](http://gcc.gnu.org/java/), which would make Getdown a viable choice for non-Java
|
|
applications.
|
|
|
|
## Release notes
|
|
|
|
See [CHANGELOG.md](CHANGELOG.md) for release notes.
|
|
|
|
## Obtaining Getdown
|
|
|
|
Getdown will likely need to be integrated into your build, for which we have
|
|
[separate instructions](https://github.com/threerings/getdown/wiki/Build-Integration). You can
|
|
also download the individual jar files from Maven Central if needed:
|
|
|
|
* In [this Maven Central directory](http://repo2.maven.org/maven2/com/threerings/getdown) you can
|
|
find the latest versions of `getdown-launcher.jar` (the code that updates and launches your
|
|
app), `getdown-ant.jar` (build integration for the Ant build tool, and which can also be used
|
|
with Maven), and `getdown-core.jar` (the core updating and launching logic which you don't
|
|
usually use directly, unless you're embedding Getdown in your app).
|
|
|
|
You can also:
|
|
|
|
* [Check out the code](https://github.com/threerings/getdown) and build it yourself.
|
|
* Browse the [source code] online.
|
|
* View the [javadoc documentation] online.
|
|
|
|
## JVM Version Requirements
|
|
|
|
* Getdown version 1.8.x requires Java 7 VM or newer.
|
|
* Getdown version 1.7.x requires Java 7 VM or newer.
|
|
* Getdown version 1.6.x requires Java 6 VM or newer.
|
|
* Getdown version 1.5 and earlier requires Java 5 VM or newer.
|
|
|
|
## Migrating from Getdown 1.7 to Getdown 1.8
|
|
|
|
See [this document](https://github.com/threerings/getdown/wiki/Migrate17to18) on the changes needed
|
|
to migrate from Getdown 1.7 to 1.8.
|
|
|
|
## Building
|
|
|
|
Getdown is built with Maven in the standard ways. Invoke the following commands, for fun and
|
|
profit:
|
|
|
|
```
|
|
% mvn compile # builds the classes
|
|
% mvn test # builds and runs the unit tests
|
|
% mvn package # builds and creates jar file
|
|
% mvn install # builds, jars and installs in your local Maven repository
|
|
```
|
|
|
|
## Discussion
|
|
|
|
Feel free to pop over to the [OOO Libs Google Group] to ask questions and get (and give) answers.
|
|
|
|
[Documentation]: https://github.com/threerings/getdown/wiki
|
|
[OOO Libs Google group]: http://groups.google.com/group/ooo-libs
|
|
[source code]: https://github.com/threerings/getdown/tree/master/src/main/java/com/threerings/getdown/launcher
|
|
[javadoc documentation]: https://threerings.github.com/getdown/apidocs/
|
|
[OOO]: https://en.wikipedia.org/wiki/Three_Rings_Design
|