aspnet / LibraryManager

Other
446 stars 78 forks source link

Introduce LibraryInstallationGoalState #743

Closed jimmylewis closed 1 month ago

jimmylewis commented 2 months ago

This change refactors how we track the state of which files get installed from each library. The LibraryInstallationGoalState is a mapping of destination files to their sources (where the source is from the local file cache if applicable).

In a manner of speaking, if LibraryInstallationState ("LIS") is the input ("I want these files from this library from that provider"), then LibraryInstallationGoalState ("LIGS") is a computed output of exactly what work needs to be performed ("These files are copied to those destinations").

This design offers some additional flexibility.