This commit implements the missing `--tool-path` option for the list tool
command. This enables the command to list locally installed tools.
Fixes#8803.
This commit fixes the tool package store such that it stores a full path
instead of, potentially, a relative path.
This prevents a relative path from inadvertently being passed to NuGet
during the restore and causing it to restore relative to the temp project
directory.
Fixes#8829.
Currently the list tool command tests, while localizing the column headers,
didn't properly take into account the fact that localized builds might produce
strings longer than the English versions of the column header strings. This
results in a mismatch of the actual from the expected due to additional column
padding.
The fix is to stop using a static expected table and do a simple calculation of
the expected table based on the length of the localized strings.
Fixes issue related to PR #8799.
* Change to escape string via XML
* tool-path option -- "Session tool"
From the beginning design, shim and packageInstaller take package location from constructor and don't have assumption anymore. From previous discussion, tool-path will simply change global location to the one user want, and everything else is the same.
However, this "override" need to happen during the call, that means InstallToolCommand will create different shim and packageInstaller object according to the tool-path during the call instead of constructor DI.
* global package location change
* block of leading dot as command name
* Localization of tool-path option
This commit fixes the case sensitivity of tool package identifiers.
Previously the install and uninstall commands unintentionally required the tool
package ids to specified in all lowercase for the install / uninstall to work.
Fixes#8682.
This commit implements the `uninstall tool` command.
The `uninstall tool` command is responsible for uninstalling global tools that
are installed with the `install tool` command.
This commit heavily refactors the ToolPackage and ShellShim namespaces to
better support the operations required for the uninstall command.
Several string resources have been updated to be more informative or to correct
oddly structured sentences.
This commit also fixes `--version` on the install command not supporting ranges
and wildcards.
Fixes#8549.
Issue #8485 is partially fixed by this commit (`--prerelease` is not yet
implemented).