Description
it should be possible to install several packages at once. the package manager has to ensure the correct installation order based on dependency resolution. the installation operation should be divided into a prepare and execute phase. the preparation phase will generate a InstallationPlan which is serializable. The execution phase will use the InstallationPlan and operate on the packages accordingly. the separation of prepare and execute has the advantage, that the preparation can already validate the correctness and optimize the import order.
draft proposal:
InstallationPlanBuilder PackageManager.getInstallationPlanBuilder();
InstallationPlanBuilder.installPackage(PackageId);
InstallationPlanBuilder.uninstallPackage(PackageId); // probably not needed right now
InstallationPlan InstallationPlanBuilder.build();
InstallationPlanBuilder.load(InputStream)
InstallationPlan.save(InputStream)
InstallationPan.validate();
InstallationResult PackageManager.execute(InstallationPlan);
Attachments
1.
|
add export/import serialization for execution / installation plan | Closed | Unassigned |