From 40be08beef9d2d6b36650958ac248b8dcfca626d Mon Sep 17 00:00:00 2001 From: Tig Date: Tue, 18 Feb 2025 16:30:26 -0700 Subject: [PATCH] Fixing versions 3 --- delist-nuget.ps1 | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 delist-nuget.ps1 diff --git a/delist-nuget.ps1 b/delist-nuget.ps1 new file mode 100644 index 000000000..9b0321dfe --- /dev/null +++ b/delist-nuget.ps1 @@ -0,0 +1,31 @@ +$apiKey = "key" # Replace with your actual API key +# Unlist all packages matching "2.0.0-v2-develop.*" +# PowerShell script to unlist NuGet packages using dotnet CLI +$packageId = "terminal.gui" # Ensure this is the correct package name (case-sensitive) +$packagePattern = "^2\.0\.0-v2-develop\..*$" # Regex pattern for filtering versions +$nugetSource = "https://api.nuget.org/v3/index.json" + +# Fetch package versions from NuGet API +$nugetApiUrl = "https://api.nuget.org/v3-flatcontainer/$packageId/index.json" +Write-Host "Fetching package versions for '$packageId'..." + +try { + $versionsResponse = Invoke-RestMethod -Uri $nugetApiUrl + $matchingVersions = $versionsResponse.versions | Where-Object { $_ -match $packagePattern } +} catch { + Write-Host "Error fetching package versions: $_" + exit 1 +} + +if ($matchingVersions.Count -eq 0) { + Write-Host "No matching packages found for '$packageId' with pattern '$packagePattern'." + exit 0 +} + +# Unlist each matching package version +foreach ($version in $matchingVersions) { + Write-Host "Unlisting package: $packageId - $version" + dotnet nuget delete $packageId $version --source $nugetSource --api-key $apiKey --non-interactive +} + +Write-Host "Operation complete."