Closed svengeance closed 3 years ago
The ability to configure various facets of the installer has been done via a modular approach. Every subsection of configuration has its own class, and every class is injected into the DI system that the Installer uses, so any HuskyTask can depend on any section.
The below describes how the Task modules are initialized, and injected into the DI system. https://github.com/svengeance/Husky/blob/main/src/PoC/Husky/Husky.Core/Workflow/HuskyConfiguration.cs
Subsections of metadata can be configured like so: https://github.com/svengeance/Husky/blob/ee8af40598e007c4c4ae319f7fed9f064693c2c9/src/PoC/Husky/HuskyApp.Installer/Program.cs#L35-L49
Context
Users need to configure an initial set of metadata on the installer.
Elevator Pitch
Installers come with an enormous amount of configuration. The name, of course, but also its dependencies, comments, version, etc. We should provide users with an elegant way to set all of this configuration. Perhaps the installer could ship with a series of yml files, each of which are subsets of the whole, that prevents users from getting overwhelmed with the high amount of configuration.
Interested Users
End users