This is an automated email from the ASF dual-hosted git repository. havret pushed a commit to branch simplify-package-script in repository https://gitbox.apache.org/repos/asf/activemq-nms-openwire.git
commit ec348c1481a58a91993e195cfefb9c00849930a3 Author: Havret <[email protected]> AuthorDate: Mon Nov 24 00:12:38 2025 +0100 NO-JIRA Simplify package script --- package.ps1 | 114 +++++++++++++++++++++++------------------------------------- 1 file changed, 43 insertions(+), 71 deletions(-) diff --git a/package.ps1 b/package.ps1 index 2561fe2..8af7d3e 100644 --- a/package.ps1 +++ b/package.ps1 @@ -17,97 +17,69 @@ $pkgname = "Apache.NMS.ActiveMQ" $pkgver = "2.2.0" $frameworks = "netstandard2.0" +write-progress "Building Release." "Running dotnet build..." +# Build the project in Release configuration +dotnet build nms-openwire.sln --configuration Release + +if ($LASTEXITCODE -ne 0) { + Write-Error "Build failed with exit code $LASTEXITCODE" + exit $LASTEXITCODE +} + +Write-Host "Release build completed successfully" -ForegroundColor Green + write-progress "Creating package directory." "Initializing..." if (!(test-path package)) { mkdir package } else { # Clean package content if exists - Remove-Item package\* -Recurse + Remove-Item package\* -Recurse -Force } -if (test-path build) { - Push-Location build - - $pkgdir = "..\package" - - write-progress "Packaging Application files." "Scanning..." - $zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip" - - $directory = "$pkgname-$pkgver-bin" - mkdir $directory - - Copy-Item ..\LICENSE.txt -Destination $directory - Copy-Item ..\NOTICE.txt -Destination $directory - - # clean up temp - Remove-Item temp -Recurse -ErrorAction Ignore +# Create a complete repository archive using git +write-progress "Creating complete repository archive." "Using git ls-files..." +$repoZipFile = "package/$pkgname-$pkgver-src.zip" - foreach ($framework in $frameworks) { - Copy-Item $framework -Destination temp\$framework -Recurse +# Use git archive to create a zip of all tracked files +# This automatically excludes untracked files, build artifacts, and respects .gitignore +git archive --format=zip --output="$repoZipFile" HEAD - # clean up third party binaries - Get-ChildItem temp -File -Exclude "*Apache.NMS*" -Recurse | Remove-Item -Recurse +if ($LASTEXITCODE -eq 0) { + Write-Host "Created repository archive: $repoZipFile" -ForegroundColor Green +} else { + Write-Warning "Failed to create repository archive using git" +} - Copy-Item -Path "temp\$framework" -Destination $directory -Recurse - } +write-progress "Copying NuGet packages." "Scanning..." - Compress-Archive -Path $directory -Update -DestinationPath $zipfile +if (test-path build) { + Push-Location build - Remove-Item $directory -Recurse -ErrorAction Ignore + $pkgdir = "..\package" + + # Create a temporary directory for the bin package + $binDirectory = "$pkgname-$pkgver-bin" + mkdir $binDirectory -ErrorAction SilentlyContinue $nupkg = "$pkgname.$pkgver.nupkg" - $nupkgdestination = "$pkgdir\$nupkg" - Copy-Item -Path $nupkg -Destination $nupkgdestination + Copy-Item -Path $nupkg -Destination $binDirectory $snupkg = "$pkgname.$pkgver.snupkg" - $snupkgdestination = "$pkgdir\$snupkg" - Copy-Item -Path $snupkg -Destination $snupkgdestination + Copy-Item -Path $snupkg -Destination $binDirectory + + Copy-Item ..\LICENSE.txt -Destination $binDirectory + Copy-Item ..\NOTICE.txt -Destination $binDirectory + + # Create the bin zip file + $binZipFile = "$pkgdir\$pkgname-$pkgver-bin.zip" + Compress-Archive -Path $binDirectory -DestinationPath $binZipFile -Force + + Remove-Item $binDirectory -Recurse -Force - # clean up temp - Remove-Item temp -Recurse -ErrorAction Inquire + Write-Host "Created binary package with NuGet files: $binZipFile" -ForegroundColor Green Pop-Location } -write-progress "Packaging Source code files." "Scanning..." -$pkgdir = "package" -$zipfile = "$pkgdir\$pkgname-$pkgver-src.zip" - -$directory = "$pkgname-$pkgver-src" -mkdir $directory - -# clean temp dir if exists -Remove-Item temp -Recurse -ErrorAction Ignore - -# copy files to temp dir -Copy-Item src -Destination "$directory\src" -Recurse -Copy-Item test -Destination "$directory\test" -Recurse - -# clean up debug artifacts if there are any -Get-ChildItem $directory -Include bin, obj -Recurse | Remove-Item -Recurse - -Copy-Item .\LICENSE.txt -Destination $directory -Copy-Item .\NOTICE.txt -Destination $directory -Copy-Item .\keyfile -Destination $directory -Recurse -Copy-Item .\nms-openwire.sln -Destination $directory -Copy-Item .\package.ps1 -Destination $directory - -Compress-Archive -Path $directory -DestinationPath $zipfile - -Remove-Item $directory -Recurse -ErrorAction Ignore - -write-progress "Packaging Docs" -$zipfile = "$pkgdir\$pkgname-$pkgver-docs.zip" -$directory = "$pkgname-$pkgver-docs" -mkdir $directory - -Copy-Item -Path .\docs\_site\* -Destination $directory -Recurse -Copy-Item .\LICENSE.txt -Destination $directory -Copy-Item .\NOTICE.txt -Destination $directory - -Compress-Archive -Path $directory -DestinationPath $zipfile - -Remove-Item $directory -Recurse -ErrorAction Ignore - write-progress -Completed "Packaging" "Complete." \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information, visit: https://activemq.apache.org/contact
