cargo-wix
cargo-wix copied to clipboard
Add a deprecation notice mechanism
As highlighted in #113, a mechanism for notifying users of deprecations and migrations might be needed. At least a consistent and documented process is needed. From #113 comments:
This does highlight that a general deprecation mechanism/process is probably needed. How do other Cargo subcommands handle this? We need to be able to make changes and evolve without fear while minimizing technical debt but without constantly breaking things for everyone. The goal of a tool is to make less work for everyone. Maybe when a command is executed, like the create (default) command, WARN statements with all deprecations are printed, but we add a
--surpress-deprecations
flag? This would hide the notices, or it could work in the reverse (--show-deprecations
) and be silent by default? Hmm, maybe this could be tied to the--nocapture
flag, such that if the output is not captured, the deprecation notices are printed along with the output from the WiX applications?
I am currently favoring the adding deprecation notices to the --nocapture
flag as this flag is generally only used during debugging and errors. The deprecation notices would then help during debugging when the cargo-wix subcommand is updated and things break. Basically, it would provide some breadcrumbs to follow for resolution.
Maybe when a command is executed, like the create (default) command, WARN statements with all deprecations are printed, but we add a --surpress-deprecations flag?
If we go down this route, we should allow individual deprecation notices to be silenced, otherwise you could miss new deprecation notices when all you wanted was to shut down old irrelevant notices.