Skip to content

A home of the PackageSourceMapper tool that helps onboard users to PackageSourceMapping

License

Notifications You must be signed in to change notification settings

NuGet/PackageSourceMapper

Repository files navigation

NuGet Package Source Mapper tool

Description

This tool helps onboarding to package source mapping feature. It can generate package source mapping section for you from nuget.config file and restored global packages folder. Here is steps to use the tool. It works for both packagereference and packages.config type projects. Please note tool doesn't map packages in fallback folder since they don't get copied to global packages folder.

  1. Declare a new global packages folder for your solution in nuget.config file.
<config>
  <add key="globalPackagesFolder" value="globalPackages" />
</config>
  1. Preparation

    • Do solution restore
    • If you have any restore/build script then please run before running this tool. It applies to any test or any other sub solutions. If you happen to have packages restored in different folder due to sub project settings then please copy them to above global packages folder.
  2. Run this tool with options suitable for you. See examples below.

  3. Copy generated nugetPackageSourceMapping.config file content into your nuget.config file. Please make any adjustments most sutiable for your use case.

  4. Clear all local cache one more time to start on clean slate dotnet nuget locals all --clear

  5. Repeat restore step above and make sure everything still works.

Synopsis:

packagesourcemapper generate <CONFIGPATH> [-h|--help] [--verbosity <LEVEL>] [--fully-specified]

Commands

If no command is specified, the command will default to help.

generate

Generates packageSourceMapping section for nuget.config file.

Arguments:

CONFIGPATH

Specify path to nuget.config used for packagesourcemapper. This is positional argument so just value after generate command.

Options:

-h|--help

Show help information

--verbosity <LEVEL>

Sets the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. The default is minimal. For more information, see LoggerVerbosity.

--fully-specified

Specify this option to generate full specified pattern instead without prefix. Currently only packages starting with Microsoft, System, Runtime, Xunit are prefixed by default.

--remove-unused-sources

Specify this option if the packagesourcemapper should attempt to reduce the number of sources used in nuget.config by consolidating them.

Examples

Generate packageSourceMapping section:

PackageSourceMapper.exe generate C:\NuGetProj\NuGet.Client\NuGet.Config

PackageSourceMapper.exe generate C:\NuGetProj\NuGet.Client\NuGet.Config --verbosity diag

Generate packageSourceMapping section without any prefixing:

PackageSourceMapper.exe generate C:\NuGetProj\NuGet.Client\NuGet.Config --verbosity m --fully-specified

Feedback

File NuGet.Client bugs in the NuGet/PackageSourceMapper

About

A home of the PackageSourceMapper tool that helps onboard users to PackageSourceMapping

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published