Add bash_scripts/azure/feed_download_nuget.ps1

This commit is contained in:
pashko 2025-09-18 16:33:03 +08:00
parent 61137064b7
commit 8ad1dcd3b9

View File

@ -0,0 +1,50 @@
# === НАСТРОЙКИ ===
$NuGetExePath = ".\nuget.exe" # Путь к nuget.exe
$PackageSourceName = "azure-microservices-core" # Ключ из nuget.config (source key)
$DownloadDir = "C:\Temp\nupkg_need" # Куда сохранять .nupkg
# ===============
# Проверка nuget.exe
if (-not (Test-Path $NuGetExePath)) {
Write-Error "Файл nuget.exe не найден: $NuGetExePath"
exit 1
}
# Создаём папку
if (-not (Test-Path $DownloadDir)) {
New-Item -ItemType Directory -Path $DownloadDir | Out-Null
}
Write-Host "Получаем список пакетов из источника: $PackageSourceName ..."
# Получаем все пакеты и версии через nuget list
$packages = & $NuGetExePath list -AllVersions -Source $PackageSourceName 2>$null
if ($LASTEXITCODE -ne 0 -or $null -eq $packages) {
Write-Error "Не удалось получить список пакетов из источника '$PackageSourceName'"
Write-Error "Убедитесь, что имя источника правильное и он есть в nuget.config"
exit 1
}
Write-Host "Найдено пакетов: $($packages.Count)`n"
foreach ($line in $packages) {
$parts = $line.Trim() -split '\s+', 2
if ($parts.Count -lt 2) { continue }
$id = $parts[0]
$version = $parts[1]
Write-Host "Скачиваю $id ($version) ..."
# Используем nuget install, чтобы скачать .nupkg (без зависимостей, если повезёт)
& $NuGetExePath install $id -Version $version -Source $PackageSourceName -OutputDirectory $DownloadDir -NonInteractive
if ($LASTEXITCODE -eq 0) {
Write-Host "Успешно" -ForegroundColor Green
} else {
Write-Warning "Ошибка при скачивании $id ($version)"
}
}
Write-Host "`nГотово. Пакеты сохранены в: $DownloadDir"