Promote.NuGet
0.3.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global Promote.NuGet --version 0.3.2
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local Promote.NuGet --version 0.3.2
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Promote.NuGet&version=0.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Promote.NuGet --version 0.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Promote.NuGet
A tool to promote NuGet packages and their dependencies from one feed to another.
Usage
Promote
The promote
command allows to promote a set of packages from one feed to another.
Promote single package
The promote package
command promotes the specified package from one feed to another. If --version
specified, it promotes the specified version; otherwise, the latest version will be promoted.
> promote-nuget promote package --help
USAGE:
Promote.NuGet.exe promote package <id> [OPTIONS]
ARGUMENTS:
<id> Id of the package to promote
OPTIONS:
-h, --help Prints help information
-s, --source Source repository
--source-api-key Source repository's API key
-d, --destination Destination repository
--destination-api-key Destination repository's API key
--no-cache Do not use local cache
--dry-run Evaluate packages to promote, but don't actually promote them
--verbose Enable verbose logs
-v, --version Version of the package. If not specified, the most recent version will be promoted
Example:
# Promotes the latest version of a package to the specified feed.
promote-nuget promote package Newtonsoft.Json --destination '<TARGET-NUGET-FEED-URL>' --destination-api-key '<API-KEY>'
# Promotes the specified version of a package to the specified feed.
promote-nuget promote package Newtonsoft.Json --version 13.0.1 --destination '<TARGET-NUGET-FEED-URL>' --destination-api-key '<API-KEY>'
Promote packages listed in a file
The promote from-file
command promotes packages listed in a file from one feed to another.
In a file, you can specify either the exact version to promote (e.g. 13.0.1
), or a version range (e.g. [12.0.0,)
).
> promote-nuget promote from-file --help
USAGE:
Promote.NuGet.exe promote from-file <file> [OPTIONS]
ARGUMENTS:
<file> Path of a file with a list of packages. Each line contains package id and its version or version range. Allowed formats:
- Space-separated: <id> <version/version-range>
- Package Manager: Install-Package <id> -Version <version/version-range>
- PackageReference: <PackageReference Include="<version>" Version="<version/version-range>" />
OPTIONS:
-h, --help Prints help information
-s, --source Source repository
--source-api-key Source repository's API key
-d, --destination Destination repository
--destination-api-key Destination repository's API key
--no-cache Do not use local cache
--dry-run Evaluate packages to promote, but don't actually promote them
--verbose Enable verbose logs
Example:
# packages.txt:
# Install-Package System.IO -Version 4.3.0
# <PackageReference Include="System.Memory" Version="4.5.3" />
# Newtonsoft.Json [12.0.0,)
# Install-Package System.Text.Json -Version [5.0.0,6)
# Determines a set of packages to promote according to the list of versions and version ranges, ant promotes them.
promote-nuget promote from-file packages.txt --destination '<TARGET-NUGET-FEED-URL>' --destination-api-key '<API-KEY>'
# Resolving matching packages for:
# ├── System.IO (= 4.3.0)
# ├── System.Memory (= 4.5.3)
# ├── Newtonsoft.Json (>= 12.0.0)
# └── System.Text.Json (>= 5.0.0 && < 6.0.0)
# Resolving dependencies for:
# ├── System.IO 4.3.0
# ├── System.Memory 4.5.3
# ├── Newtonsoft.Json 12.0.1
# ├── Newtonsoft.Json 12.0.2
# ├── Newtonsoft.Json 12.0.3
# ├── Newtonsoft.Json 13.0.1
# ├── System.Text.Json 5.0.0
# ├── System.Text.Json 5.0.1
# └── System.Text.Json 5.0.2
# Found 106 package(s) to promote:
# ├── Microsoft.Bcl.AsyncInterfaces 5.0.0
# ├── Microsoft.CSharp 4.3.0
# ├── Microsoft.NETCore.Platforms 1.1.0
# ├── Microsoft.NETCore.Targets 1.1.0
# ├── Microsoft.Win32.Primitives 4.3.0
# ├── NETStandard.Library 1.6.1
# ├── Newtonsoft.Json 12.0.1
# ├── Newtonsoft.Json 12.0.2
# ├── Newtonsoft.Json 12.0.3
# ...
# (1/106) Promote Microsoft.Bcl.AsyncInterfaces 5.0.0
# (2/106) Promote Microsoft.CSharp 4.3.0
# (3/106) Promote Microsoft.NETCore.Platforms 1.1.0
# (4/106) Promote Microsoft.NETCore.Targets 1.1.0
# Minimal: Package 'C:\Users\...\AppData\Local\Temp\tmp513A.tmp' already exists at feed '...'.
# (5/106) Promote Microsoft.Win32.Primitives 4.3.0
# (6/106) Promote NETStandard.Library 1.6.1
...
Help
You can use --help
argument to find all available commands and options. Example:
> promote-nuget promote --help
USAGE:
Promote.NuGet.exe promote [OPTIONS] <COMMAND>
OPTIONS:
-h, --help Prints help information
COMMANDS:
package <id> Promotes the specified package and its dependencies from one feed to another
from-file <file> Promotes packages listed in the specified file
Third-party components
- This application uses NuGet.Client libraries. These libraries are available under the Apache 2.0 license.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
0.9.0 | 248 | 11/18/2024 |
0.8.0 | 273 | 9/16/2024 |
0.7.1 | 179 | 8/1/2024 |
0.7.0 | 106 | 6/14/2024 |
0.6.1 | 1,070 | 3/13/2024 |
0.6.0 | 180 | 3/13/2024 |
0.5.4 | 233 | 3/12/2024 |
0.5.3 | 202 | 3/7/2024 |
0.5.2 | 181 | 3/7/2024 |
0.5.1 | 196 | 3/6/2024 |
0.5.0 | 241 | 3/2/2024 |
0.4.0 | 231 | 2/6/2024 |
0.3.2 | 347 | 12/9/2023 |
0.3.1 | 181 | 12/9/2023 |
0.3.0 | 976 | 9/17/2022 |
0.2.0 | 428 | 9/15/2022 |
0.1.3 | 419 | 9/10/2022 |
0.1.2 | 455 | 9/10/2022 |
0.1.1 | 384 | 9/10/2022 |
0.1.0 | 414 | 9/9/2022 |
0.1.0-main.22 | 124 | 9/9/2022 |