Files
rem-essentials-pub/tools/package-release.ps1
T

34 lines
1.5 KiB
PowerShell

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"