NO-JIRA Simplify package script
diff --git a/package.ps1 b/package.ps1
index 2561fe2..8af7d3e 100644
--- a/package.ps1
+++ b/package.ps1
@@ -17,97 +17,69 @@
$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
}
+# Create a complete repository archive using git
+write-progress "Creating complete repository archive." "Using git ls-files..."
+$repoZipFile = "package/$pkgname-$pkgver-src.zip"
+
+# 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
+
+if ($LASTEXITCODE -eq 0) {
+ Write-Host "Created repository archive: $repoZipFile" -ForegroundColor Green
+} else {
+ Write-Warning "Failed to create repository archive using git"
+}
+
+write-progress "Copying NuGet packages." "Scanning..."
+
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
-
- foreach ($framework in $frameworks) {
- Copy-Item $framework -Destination temp\$framework -Recurse
-
- # clean up third party binaries
- Get-ChildItem temp -File -Exclude "*Apache.NMS*" -Recurse | Remove-Item -Recurse
-
- Copy-Item -Path "temp\$framework" -Destination $directory -Recurse
- }
-
- Compress-Archive -Path $directory -Update -DestinationPath $zipfile
-
- Remove-Item $directory -Recurse -ErrorAction Ignore
+ # 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