Does it download all jar files or only the changed jar files?
It downloads all jar files in your app. It uses npm for versioning and each version is a self-contained package.
For example, I am using the jMonkey game engine for my game and it has a bunch of jar files + the jar files from LWJGL,… if I only update my game jar file will the update tool only download that specific jar file or it will download all the jars?
I hear you there. I have toyed with the idea of adding a runtime dependencies mechanism that would use something like maven to be able to reuse dependencies between versions. Then you could mark certain dependencies to be downloaded directly from Maven central - and thus, reused by all apps that use jDeploy. That isn’t done yet though. I made a special case for JavaFX, where you can just specify whether your app needs JavaFX, and it just use (or download) a JVM that has JavaFX already.
And what about game assets files? (models, textures, sounds,…) I want to publish the assets in the zip file, not in jar file, can auto-update handle those as well?
You can write a “post-package” script to include whatever you want in the app bundle. Essentially, when you hit “publish”, jDeploy creates a directory named “jdeploy-bundle” and it copies everything it needs into it. If you write a “post-package” script, it will be run after the “package” step, but before the “publish” step, so you can copy anything you like in there.
However, I recommend just including these assets in a jar file and adding them to your classpath. I spent a fair bit of time fighting maven in the past trying to do what you’re describing (include some assets outside of the classpath), but have come around to the position that keeping them in a jar, and adding them to the classpath is cleaner and easier in the long run - and more compatible with build tools like Maven.
can auto-update handle those as well?
Yes. Everything in the bundle is updated by the auto-update mechanism.