{"id":13777389,"url":"https://github.com/threerings/getdown","last_synced_at":"2025-05-11T11:33:27.550Z","repository":{"id":10393865,"uuid":"12544638","full_name":"threerings/getdown","owner":"threerings","description":"Download, Install, Update","archived":false,"fork":false,"pushed_at":"2023-12-22T17:02:21.000Z","size":3230,"stargazers_count":500,"open_issues_count":45,"forks_count":125,"subscribers_count":46,"default_branch":"master","last_synced_at":"2024-08-03T18:11:29.319Z","etag":null,"topics":["application","install","java"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threerings.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-02T16:44:05.000Z","updated_at":"2024-07-30T11:13:13.000Z","dependencies_parsed_at":"2024-05-02T13:44:15.530Z","dependency_job_id":"bea3b865-d124-4ce5-a529-cec938817e63","html_url":"https://github.com/threerings/getdown","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threerings%2Fgetdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threerings%2Fgetdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threerings%2Fgetdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threerings%2Fgetdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threerings","download_url":"https://codeload.github.com/threerings/getdown/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225043121,"owners_count":17411928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application","install","java"],"created_at":"2024-08-03T18:00:42.551Z","updated_at":"2025-05-11T11:33:27.531Z","avatar_url":"https://github.com/threerings.png","language":"Java","funding_links":[],"categories":["Community","Libraries, Tools and Projects","项目","Projects"],"sub_categories":["Tools","分布","Distribution"],"readme":"## Use the fork, Luke!\n\nThis original Getdown project is not actively maintained, but there is a fork by `bekoenig` that is\nactively maintined here:\n\n[bekoenig Getdown](https://github.com/bekoenig/getdown)\n\nI recommend using that fork if you can.\n\n## What is it?\n\nGetdown (yes, it's the funky stuff) is a system for deploying Java applications to end-user\ncomputers, as well as keeping those applications up to date.\n\nIt was designed as a replacement for [Java Web Start](https://docs.oracle.com/javase/8/docs/technotes/guides/javaws/)\ndue to limitations in Java Web Start's architecture which are outlined in the\n[rationale](https://github.com/threerings/getdown/wiki/Rationale) section.\n\nNote: Getdown was designed *in 2004* as an alternative to Java Web Start, because of design choices\nmade by JWS that were problematic to the use cases its authors had. It is _not_ a drop-in\nreplacement for JWS, aimed to help the developers left in the lurch by the deprecation of JWS in\nJava 9. It may still be a viable alternative for developers looking to replace JWS, but don't\nexpect to find feature parity with JWS.\n\n## How do I use it?\n\nA tutorial and more detailed specification are available from the [Documentation] page. Questions\ncan be posted to the [OOO Libs Google group].\n\nNote that because one can not rely on users having a JRE installed, you must create a custom\ninstaller for each platform that you plan to support (Windows, macOS, Linux) that installs a JRE,\nthe Getdown launcher jar file, a stub configuration file that identifies the URL at which your real\napp manifest is hosted, and whatever the appropiate \"desktop integration\" is that provides an icon\nthe user can click on. We have some details on the\n[installers](https://github.com/threerings/getdown/wiki/Installers) documentation page, though it\nis unfortunately not very detailed.\n\n## How does it work?\n\nThe main design and operation of Getdown is detailed on the\n[design](https://github.com/threerings/getdown/wiki/Design) page. You can also browse the\n[javadoc documentation] and [source code] if you're interested in implementation details.\n\n## Where can I see it in action?\n\nGetdown was originally written by developers at [OOO] for the deployment of their Java-based\nmassively multiplayer games. Try out any of the following games to see it in action:\n\n  * [Puzzle Pirates](https://www.puzzlepirates.com/) - OOO\n  * [Spiral Knights](https://www.spiralknights.com/) - OOO\n\nGetdown is implemented in Java, and is designed to deploy and update JVM-based applications. While\nit would be technically feasible to use Getdown to deploy non-JVM-based applications, it is not\ncurrently supported and it is unlikely that the overhead of bundling a JVM just to run Getdown\nwould be worth it if the JVM were not also being used to run the target application.\n\n## Release notes\n\nSee [CHANGELOG.md](CHANGELOG.md) for release notes.\n\n## Obtaining Getdown\n\nGetdown will likely need to be integrated into your build. We have separate instructions for\n[build integration]. You can also download the individual jar files from Maven Central if needed.\nGetdown is comprised of three Maven artifacts (jar files), though you probably only need the first\none:\n\n  * [getdown-launcher](https://repo1.maven.org/maven2/com/threerings/getdown/getdown-launcher)\n    contains minified (via Proguard) code that you actually run to update and launch your app. It\n    also contains the tools needed to build a Getdown app distribution.\n\n  * [getdown-core](https://repo1.maven.org/maven2/com/threerings/getdown/getdown-core) contains the\n    core logic for downloading, verifying, patching and launching an app as well as the core logic\n    for creating an app distribution. It does not contain any user interface code. You would only\n    use this artifact if you were planning to integrate Getdown directly into your app.\n\n  * [getdown-ant](http://repo2.maven.org/maven2/com/threerings/getdown/getdown-ant) contains an Ant\n    task for building a Getdown app distribution. See the [build integration] instructions for\n    details.\n\nYou can also:\n\n  * [Check out the code](https://github.com/threerings/getdown) and build it yourself.\n  * Browse the [source code] online.\n  * View the [javadoc documentation] online.\n\n## JVM Version Requirements\n\n  * Getdown version 1.8.x requires Java 7 VM or newer.\n  * Getdown version 1.7.x requires Java 7 VM or newer.\n  * Getdown version 1.6.x requires Java 6 VM or newer.\n  * Getdown version 1.5 and earlier requires Java 5 VM or newer.\n\n## Migrating from Getdown 1.7 to Getdown 1.8\n\nSee [this document](https://github.com/threerings/getdown/wiki/Migrating-from-1.7-to-1.8) on the\nchanges needed to migrate from Getdown 1.7 to 1.8.\n\n## Building\n\nGetdown is built with Maven in the standard ways. Invoke the following commands, for fun and\nprofit:\n\n```\n% mvn compile  # builds the classes\n% mvn test     # builds and runs the unit tests\n% mvn package  # builds and creates jar file\n% mvn install  # builds, jars and installs in your local Maven repository\n```\n\n## Discussion\n\nFeel free to pop over to the [OOO Libs Google Group] to ask questions and get (and give) answers.\n\n[Documentation]: https://github.com/threerings/getdown/wiki\n[OOO Libs Google group]: http://groups.google.com/group/ooo-libs\n[source code]: https://github.com/threerings/getdown/tree/master/src/main/java/com/threerings/getdown/launcher\n[javadoc documentation]: https://threerings.github.com/getdown/apidocs/\n[OOO]: https://en.wikipedia.org/wiki/Three_Rings_Design\n[build integration]: https://github.com/threerings/getdown/wiki/Build-Integration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreerings%2Fgetdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreerings%2Fgetdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreerings%2Fgetdown/lists"}