Enable GenerateDocumentationFile, allowing for IDE0005 to be caught during builds. Cleaned up unnecessary using statements.
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
* Fix dotnet add package command to commit restore
Currently dotnet add package runs a preview restore, update project file, but doesn't commit the restore artifacts. So next time, a restore happens, it runs a full restore again and then commit.
This PR fixes it by committing restore as part of add package command.
## Bug
Fixes: https://github.com/NuGet/Home/issues/6700
Regression: No
## Fix
Details: This PR adds the following -
1. Updates SignedPackageVerifierSettings to contain 4 additional fields -
- `bool AllowNoRepositoryCertificateList`
- `bool AllowNoClientCertificateList`
- `IReadOnlyList<VerificationAllowListEntry> RepositoryCertificateList`
- `IReadOnlyList<VerificationAllowListEntry> ClientCertificateList`
The new fields allow us to pass client and repository allow lists to `AllowListVerificationProvider`
2. Refactor `ISignatureVerificationProvider` to accept allow lists via `SignedPackageVerifierSettings`
3. Add `RepositorySignatureInfoUtility` to process `RepositorySignatureInfo` and generate effective `SignedPackageVerifierSettings`.
4. Update `PackageExtractor` to check if the download source has `RepositorySignatureInfo` and use that to verify signed packages.
5. Supporting refactoring and tests.
We introduce a new package type for dotnet tools, with compatible asset as "tools/tfm/rid/any.extension.
That package is only compatible with a special project type that the CLI will create, DotnetToolReference.
1 package per project, that package has to be a dotnettool.
DotnetTooReference works almost exactly the same way as Package Reference with the above restrictions in place.
Notable: Tool Restore does not generate Msbuild props and targets, for failures
No no-op artifacts for tool restore.
* Adds functional tests on NuGet.CommandLine to cover scenarios related to warning properties.
* Improved Console and RestoreSummary logging code to use helper methods.
* Added more filtering in WarningPropertiesCollection to not upgrade Warnings if their NuGetLogCode is Undefined.
* Improved the default NuGetLogCode for RestoreLogMessages which are below LogLevel.Warning to NuGetLogCode.Undefined.
Merging all test utilities together. Test.Utility is now a common layer that all tests can use that sits between the product projects and test projects.