Promote.NuGet 0.3.2

There is a newer version of this package available.
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                
nuke :add-package Promote.NuGet --version 0.3.2                

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

Product 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