-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Currently an update of the main application is about 370MB. The CaDoodle-Application.jar file is completely replaced by a new one. If you look inside the new and old Jar file then you can see that the actual changes between the versions are quite limited.
A Jar file is basically just a Zip file with a special internal file/directory structure. It can be unzipped, files can be replaced and then zipped again. Unzipped the Jar file is about 1GB. So unpacking and packing the the data will take some time. I'm not sure if the changes to the Jar file can be made without unpacking all data first.
For a proof of concept test I compared the contents of 0.25.24 to 0.25.25 (I used WinMerge).
I extracted the Jar and copied all different files, which amounted to a total of less than 200KB. The changes are exclusively located in the "com\commonwealthrobotics" and "com\neuronrobotics" directories. Even if you would include these directories completely in the update, the size would be less than 8MB uncompressed (less than 4MB compressed). I believe this kind of update will allow an update from any older version to the latest version (build on the same JDK).
The application can even be run from the extracted Jar data directly, which would make an update quite trivial and fast because no upzipping and zipping is required. This is not the preferred way of running the JVM, but I tried it and it worked fine.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status