Commit graph

12 commits

Author SHA1 Message Date
Peter Huene
0181c67bb0
Fix validation of tool-path option for tool list and uninstall commands.
This commit checks that the `--tool-path` option for the `tool list` and `tool
uninstall` commands is a directory that exists.

If the directory does not exist, an error and the command help is displayed.

Fixes #8931.
2018-04-03 16:02:14 -07:00
William Lee
149bdfd0fa
Change command order for tools (#8862)
dotnet install tool -> dotnet tool install
dotnet uninstall tool -> dotnet tool uninstall
dotnet list tool -> dotnet tool list
dotnet update tool -> dotnet tool update
2018-03-21 19:12:32 -07:00
Peter Huene
60d71618be
Implement the --tool-path option for the list tool command.
This commit implements the missing `--tool-path` option for the list tool
command.  This enables the command to list locally installed tools.

Fixes #8803.
2018-03-20 16:54:50 -07:00
Peter Huene
4f8ac7dce5
Ensure tool package store root is a full path.
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.
2018-03-20 16:54:34 -07:00
Peter Huene
3ce2d4da0f
Fix list tool command tests to be localizable.
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.
2018-03-20 16:53:49 -07:00
William Lee
9cc2b7cd2f
Change --source to --source-feed and make it additional (#8833)
Other than change source to source-feed and make it additional instead of exclusive. I changed source to be multiple. Because restore support multiple source https://github.com/Microsoft/dotnet/issues/361

As for mock. The offline feed and source feed is considered the same, so remove the category of “source”. I renamed source to “AdditionalFeed” because that is more accurate on implementation level.

Note:
NuGet feed don’t have order. Whichever responses the fastest, is the first.
No change on restore.

scripts/cli-test-env.sh change is due to mac 10.13 is finally added to RID graph. And it is “considered” one of the CLI supported RID
2018-03-19 22:22:45 -07:00
William Lee
3f09a889d9
Update tool (#8794) 2018-03-15 19:45:11 -07:00
William Lee
3861fc1700
Convert to graceful exception (#8751) 2018-03-08 15:49:16 -08:00
William Lee
0598e6cb70
tool-path option -- "Session tool" (#8716)
* 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
2018-03-06 15:58:05 -08:00
Peter Huene
da90a08ada
Implement tests for the list tool command.
This commit implements tests for the `list tool` command.
2018-03-05 10:18:48 -08:00
Peter Huene
5ebbd618ec
Fix case sensitivity of tool package identifiers.
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.
2018-03-05 10:18:41 -08:00
Peter Huene
aab9af71b8
Implement uninstall tool command.
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).
2018-02-19 22:46:16 -08:00