fxlauncher
fxlauncher copied to clipboard
Integration with Github releases
In general, it adds lot of friction to deploy app and all required metadata. You have to:
- Have some hosting
- Set up all that Amazon S3 stuff
- Set up scp or any other uploading mechanism.
It can be overkill to set up some complicated flow to keep all stuff in sync and deploy it running one single command.
I have following suggestion to discuss. Right now, Github has it's own way to distribute apps: Releases. There are few ways to manage it:
- git tags
- REST API v3
- GraphQL API v4
- Manual management.
In general, it'll lead to following actions to do:
- Make separate tasks to deploy app (thin wrapper of this for Gradle, and this for Maven).
- Support additional tag in manifest.
- Support downloading from Github (using API library or REST/GraphQL API). Here usage of plain REST API is preferred, to keep fxlauncher.jar size as small as possible.
If plans like this aligns well with your vision of project, I can help with implementation.
Honestly I don't feel that much friction from deployment, sure you need to set it up once, but after that it's a matter of running a build and it's done. That said, I absolutely see the value in the ability to deploy a GitHub release, and a PR for this functionality would be most welcome indeed :)
@edvin I'll hope to work on it soon. I'm not experienced with Maven plugins at all, so I'd like to start with Gradle counterpart, and then work on Maven (or even leave it to someone else to implement). I'd like to stick for now with v3 REST API — it looks much easier to implement without introducing dependencies to FxLauncher.
That sounds like a good idea. Gradle will be a little less involved anyways, and I can probably port it to Maven myself when things cool down a little here.