svengeance / Husky

Modernizing the way developers think about installers
3 stars 0 forks source link

[Feature] Tagged/Categorized/Phasic Installation Steps #16

Closed svengeance closed 3 years ago

svengeance commented 3 years ago

Context

Developers will want a first-class way of defining at what time their steps should run. At this time there are at least four identified phases:

Proposals

An array of string-based phases as a basic property on each Step should do the trick. I'm inclined to keep it as a string rather than an enum as this allows developers to define their own phases if they so choose. Moreover, any attempts to enumify this will invariably result in enum parsing for no real gain.

All first-class tasks should be created with [Install, Uninstall]. Husky's rollback capability should allow it to gracefully uninstall if the user relies on supported tasks.

Expected execution would be that Husky's executable verb defines the mode Husky runs under, e.x. my-installer.exe install, or my-installer.exe my-custom-phase.

Interested Users

Developers