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