Application Distribution & Updating System
Application Distribution & Updating System -ADUS- is a new system for application distribution and updating created from scratch for Voxel, and other applications. Is designed to be scalable, universal and easy to use, while maintaining simplicity and speed. In its core uses JSON files for versioning and configuration, and a repository in a multi-directory configuration containing all JAR files. It supports MD5 validation for jar files only, support for configuration will come soon. Other part is the application initialization: creates the command, classpath, custom parameters and then bootstraps the application using the main class specified in the configuration. Is not application-specific, meaning that can be used in any application.
The configuration consist of a main JSON containing all versions and a directory where the versions specific config is stored, the repository stores all jar files in a multi-directory layout. Using this system allows sharing files between versions.
The remote server is fully configurable, it stores the a full copy of versions and files while the client only downloads the files required, mirroring the file structure stored on the server. It can be used in a stand-alone mode or be complemented by a launcher.
All the code is available in the GitHub repository.