d0e06b9220
These nuget packages are used to deliver the CLI payload to Visual Studio setup authoring. They are pushed (by VSO build definitions) into an internal feed consumed by Visual Studio.
74 lines
2.1 KiB
PowerShell
74 lines
2.1 KiB
PowerShell
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
|
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
|
|
# This script is used to generate a nuget package with the windows installer bundle.
|
|
# The generated nupkg file is used to deliver the CLI payload to Visual Studio.
|
|
|
|
param(
|
|
[Parameter(Mandatory=$true)][string]$SdkBundlePath,
|
|
[Parameter(Mandatory=$true)][string]$NugetVersion,
|
|
[Parameter(Mandatory=$true)][string]$NuspecFile,
|
|
[Parameter(Mandatory=$true)][string]$NupkgFile
|
|
)
|
|
|
|
. "$PSScriptRoot\..\..\..\scripts\common\_common.ps1"
|
|
$RepoRoot = Convert-Path "$PSScriptRoot\..\..\.."
|
|
$NuGetDir = Join-Path $RepoRoot ".nuget"
|
|
$NuGetExe = Join-Path $NuGetDir "nuget.exe"
|
|
$OutputDirectory = [System.IO.Path]::GetDirectoryName($SdkBundlePath)
|
|
|
|
function DownloadNugetExe
|
|
{
|
|
if (-not (Test-Path $NuGetDir))
|
|
{
|
|
New-Item -ItemType Directory -Force -Path $NuGetDir | Out-Null
|
|
}
|
|
|
|
if (-not (Test-Path $NuGetExe)) {
|
|
Write-Host 'Downloading nuget.exe to ' + $NuGetExe
|
|
wget https://dist.nuget.org/win-x86-commandline/v3.5.0-rc1/NuGet.exe -OutFile $NuGetExe
|
|
}
|
|
}
|
|
|
|
function GenerateNupkg
|
|
{
|
|
if (-not (Test-Path $NuspecFile))
|
|
{
|
|
Write-Host 'Error nuspec not found - $NuspecFile'
|
|
}
|
|
|
|
$SdkBundleName = [System.IO.Path]::GetFileName($SdkBundlePath)
|
|
$NuspecFileName = [System.IO.Path]::GetFileName($NuspecFile)
|
|
$TempNuspecFile = [System.IO.Path]::Combine($OutputDirectory, $NuspecFileName)
|
|
(Get-Content $NuspecFile) -replace '\[DOTNET_BUNDLE\]', $SdkBundleName | Set-Content $TempNuspecFile
|
|
& $NuGetExe pack $TempNuspecFile -Version $NugetVersion -OutputDirectory $OutputDirectory
|
|
}
|
|
|
|
|
|
if(!(Test-Path $SdkBundlePath))
|
|
{
|
|
throw "$SdkBundlePath not found"
|
|
}
|
|
|
|
Write-Host "Creating nupkg for Sdk installer"
|
|
|
|
DownloadNugetExe
|
|
|
|
if(Test-Path $NupkgFile)
|
|
{
|
|
Remove-Item -Force $NupkgFile
|
|
}
|
|
|
|
if(-Not (GenerateNupkg))
|
|
{
|
|
Exit -1
|
|
}
|
|
|
|
if(!(Test-Path $NupkgFile))
|
|
{
|
|
throw "$NupkgFile not generated"
|
|
}
|
|
|
|
Write-Host -ForegroundColor Green "Successfully created installer nupkg - $NupkgFile"
|
|
|
|
exit $LastExitCode
|