1- # pack&push .ps1
1+ # deploy .ps1
22param (
33 [string ]$Configuration = " Release" ,
44 [string ]$PackageOutput = " $ ( pwd) /artifacts" ,
@@ -11,33 +11,34 @@ if (-not (Test-Path -Path $PackageOutput)) {
1111 New-Item - ItemType Directory - Path $PackageOutput | Out-Null
1212}
1313
14- # Iterate over each project in the src directory
15- Get-ChildItem - Path src - Filter FeatureManagement.* - Directory | ForEach-Object {
14+ # Iterate over each project to pack
15+ Get-ChildItem - Path src - Filter FeatureManagement.Database * - Directory | ForEach-Object {
1616 $projectPath = $_.FullName
1717 $projectName = $_.Name
18- $csprojPath = Join-Path - Path $projectPath - ChildPath " $projectName .csproj"
18+ $csprojPath = Join-Path - Path $projectPath - ChildPath " ${ projectName} .csproj"
1919
2020 try {
21- $version = dotnet msbuild $csprojPath - nologo - t:GetVersion - v:q - p:OutputProperty = Version
21+ $version = dotnet msbuild $csprojPath - nologo - t:GetVersion - p:Configuration = $configuration | ForEach-Object { $_ .Trim () }
2222
2323 if (-not $version ) {
24- throw " Failed to retrieve version for project $projectName "
24+ throw " Failed to retrieve version for project ${ projectName} "
2525 }
2626
27- $packageName = " $ projectName. $ version.nupkg "
27+ Write-Host " > Packing ${ projectName} version: ${ version} " - ForegroundColor " Cyan "
2828
2929 dotnet pack $projectPath -- configuration $Configuration -- output $PackageOutput
3030
31- $packageExists = dotnet nuget search $projectName -- version $version -- source $NuGetSourceUrl | Select-String - Pattern $version
31+ $packageName = " ${projectName} .${version} .nupkg"
32+ $packagePath = Join-Path - Path $PackageOutput - ChildPath $packageName
3233
33- if (-not $packageExists ) {
34- dotnet nuget push " $PackageOutput / $packageName " - k $NuGetApiKey - s $NuGetSourceUrl
35- Write-Host " Package $packageName version $version pushed." - ForegroundColor " Green"
34+ if (Test-Path - Path $packagePath ) {
35+ dotnet nuget push $packagePath - k $NuGetApiKey - s $NuGetSourceUrl -- skip-duplicate
36+ Write-Host " Package ${ packageName} pushed." - ForegroundColor " Green"
3637 } else {
37- Write-Host " Package $packageName version $version already exists on NuGet. Skipping push." - ForegroundColor " Yellow"
38+ Write-Host " Package ${ packageName} already exists on NuGet. Skipping push." - ForegroundColor " Yellow"
3839 }
3940 } catch {
40- Write-Error " Error processing project $projectName : $_ "
41+ Write-Error " Error processing project ${ projectName} : $_ "
4142 }
4243}
4344
0 commit comments