Create nugetPublish.ps1

This commit is contained in:
Tiago Conceição
2022-04-02 03:38:47 +01:00
parent d38e9ee62d
commit caa37436db
+37
View File
@@ -0,0 +1,37 @@
Set-Location $PSScriptRoot\..\..
####################################
### Configuration ###
####################################
# Variables
$package = "UVtools.Core"
$nugetApiKeyFile = 'build/secret/nuget_api.key'
$outputFolder = "$package/bin/Release"
$projectXml = [Xml] (Get-Content "$package\$package.csproj")
$version = "$($projectXml.Project.PropertyGroup.Version)".Trim();
if([string]::IsNullOrWhiteSpace($version)){
Write-Error "Can not detect the $package version, does $project\$project.csproj exists?"
exit
}
if (Test-Path -Path $nugetApiKeyFile -PathType Leaf)
{
Write-Output "Creating nuget package for $package $version"
#Remove-Item "$outputFolder/*" -Recurse -Include *.nupkg
dotnet pack $package --configuration 'Release'
$nupkg = "$outputFolder/$package.$version.nupkg"
if (Test-Path -Path $nupkg -PathType Leaf){
$nugetApiKeyFile = (Get-Content $nugetApiKeyFile)
dotnet nuget push $nupkg --api-key $nugetApiKeyFile --source https://api.nuget.org/v3/index.json
#Remove-Item $nupkg
}else {
Write-Error "Nuget package publish failed!"
Write-Error "File '$nupkg' was not found"
return
}
}
else{
Write-Error "The nuget API key was not found. This is private and can only use used by own developer"
}