param( [string]$LauncherPath = (Join-Path (Split-Path $PSScriptRoot -Parent) '..\Launcher'), [string]$BuildDirectory = (Join-Path (Split-Path $PSScriptRoot -Parent) 'build-nmake') ) $ErrorActionPreference = 'Stop' $root = Split-Path $PSScriptRoot -Parent $buildDirectory = [System.IO.Path]::GetFullPath($BuildDirectory) $releaseDirectory = Join-Path $root 'release' $stagingDirectory = Join-Path $buildDirectory 'package' $exeDirectory = Join-Path $stagingDirectory 'EXE' $archivePath = Join-Path $releaseDirectory 'rem-essentials-release.zip' New-Item -ItemType Directory -Force $releaseDirectory | Out-Null Copy-Item (Join-Path $buildDirectory 'bin\rem-essentials.dll') (Join-Path $releaseDirectory 'rem-essentials.dll') -Force if (Test-Path $stagingDirectory) { Remove-Item $stagingDirectory -Recurse -Force } New-Item -ItemType Directory -Force $exeDirectory | Out-Null Copy-Item (Join-Path $releaseDirectory 'rem-essentials.dll') (Join-Path $exeDirectory 'rem-essentials.dll') Copy-Item (Join-Path $root 'rem-essentials.ini') (Join-Path $exeDirectory 'rem-essentials.ini') Copy-Item (Join-Path $root 'docs\configuration.md') (Join-Path $stagingDirectory 'CONFIGURATION.md') if (Test-Path $archivePath) { Remove-Item $archivePath -Force } Compress-Archive -Path (Join-Path $stagingDirectory '*') -DestinationPath $archivePath -CompressionLevel Optimal & (Join-Path $PSScriptRoot 'validate-release.ps1') -LauncherPath $LauncherPath -BuildDirectory $buildDirectory Write-Host "Release package created: $archivePath"