anno-mods/iModYourAnno

Rework the technical basis of installations

taubenangriff opened this issue · 0 comments

Right now, we have like three things to start installations

  • Setting up installations (InstallationSetup), but really overcomplex, returning tasks that contain the installation, also also autostarting them.
  • Then this thing (InstallationManager) that runs the three different installation types.
  • Then all the installation classes containing the logic what to actually do, but exposing no control over when they actually do it.
  • Also we have the GithubDownloader class that is an abstraction to download githubrepoinfos.

InstallationSetup should be a builder pattern that directly returns the installations, InstallationManager should run them and handle all the parallelization stuff.

Also we should skip the entire result thing and just catch exceptions. and run the cleanup in a finally block.