lodestone_core icon indicating copy to clipboard operation
lodestone_core copied to clipboard

Add DependencyManager

Open CheatCod opened this issue 2 years ago • 0 comments

Description

Runtime dependencies such as jre are stored under the bin directory. This is done so that multiple instances can share a dependency.

Currently, each instance directly checks for the file under the bin directory and downloads it if it's not there. This is quite error-prone and does not work well with Lodestone Atom.

The DependencyManager will be responsible for managing dependencies including registration, providing paths and deletion.

The methods are outlined as follows:

register() takes in a string id, a path to the dependency, and a map from name to paths

get() takes in a string id and returns the map from names to paths

DependencyManager should store its state to a json file under bin, and is able to restore from the file

Steps to reproduce (optional)

CheatCod avatar May 04 '23 04:05 CheatCod