Extract packages to DotnetTools folder under sdk/{version}
Add new resolver to discover it
Add test to enforce package structure. It will fail when the structure
changed
This commit adds the `--verbosity` option to the `install tool` command.
MSBuild/NuGet output is now controllable by the user and defaults to being "quiet".
This enables users to see warnings from NuGet that otherwise would be swallowed
unless NuGet returned a non-zero exit code. As a byproduct of this change, the
exception handling and error messages related to obtaining tool packages was
retooled. We no longer display `install tool` command line help for installation
failures, as it should only be displayed for command line syntax errors.
Fixes#8465.
To ensure the mock has the same behavior the component has, run mock under the same tests the adapter has.
It is a common problem that moq has -- "everything is mocked out, you are not test anything"
* compose all the parts
* Fix on obtain and shim maker for better end to end experience
* Fix error when there is space in the middle of path of nuget config
* Fix path in profile.d is the tmp home path during install
* better handle of ~home
* remove profile.d file in uninstall script
* Fix test since it looks up current directory
* folder structure inside nupkg to tools/TFM/RID/mytool.dll
* Add check for config file existence
* Rename name space to Microsoft.DotNet.ShellShim
* Rename name space to Microsoft.DotNet.ToolPackage
* Tools shim maker and env path handling
Includes component:
* Given executable, create shim (all three OSs)
* Add executable path to Env PATH during first run
* including manual instruction when there is no access
Add ExeutablePackageObtainer
Given a tools package id, it can create a fake project and restore to correct folder
- DI, aka no circular dependency of commands
- Parser of config XML
- I try to create test nupkg at build time, so I can run test and debug
easily with VSCode. The code is in test csproj.
Remove ProjectJsonMigration and its test from solution file
Change dependecy by package reference instead of project 2 project
Construct the sln and dotnet new with wrapper that is used in migrate
package
Add reference to Nuget ProjectModel etc since CrossGen need it and it
cannot automatically get the reference
* Reduce test target complexity [and running time]
* WiP
* Enable building tests via solution
Remove deprecated tests
Make Microsoft.DotNet.Tools.Tests.Utilities portable-only
Remove MSI tests from the solution as they are the only tests that currently require dekstop.
* Enable building of tests
* Move migration tests to TA to allow them to self-restore
* Reduce project nesting and test directory name
* Fixing argument parsing in add package command
* Adding check to throw if extra args were passed
* Removing string and adding test cases for dotnet add package command
* Add new test to test.sln, and fix naming, and clean csproj
This commit introduces a solution file for test projects and modifies
the needed build targets to restore the test solution instead of each
test project separately.
It also introduces a new template called "sln" to dotnet new that drops
a template solution file for users to consume.
Fixes#5099