mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
94 lines
2.8 KiB
PowerShell
94 lines
2.8 KiB
PowerShell
param (
|
|
[string]
|
|
[Parameter(Mandatory=$true)]
|
|
$SolutionDir,
|
|
|
|
[string]
|
|
[Parameter(Mandatory=$true)]
|
|
$TargetDir,
|
|
|
|
[string]
|
|
[Parameter(Mandatory=$true)]
|
|
$ConfigurationName
|
|
)
|
|
|
|
Write-Output ""
|
|
Write-Output "===== Begin $($PSCmdlet.MyInvocation.MyCommand) ====="
|
|
|
|
$IsAppVeyor = !([string]::IsNullOrEmpty($Env:APPVEYOR_BUILD_FOLDER))
|
|
|
|
$ConfigurationName = $ConfigurationName.Trim()
|
|
$exe = Join-Path -Path $TargetDir -ChildPath $TargetFileName
|
|
#$version = ((Get-Item -Path $exe).VersionInfo | Select-Object -Property ProductVersion)."ProductVersion"
|
|
$version = $(Get-Item -Path $exe).VersionInfo.FileVersion
|
|
Write-Output "FileVersion: $version"
|
|
|
|
|
|
# determine update channel
|
|
if ($env:APPVEYOR_PROJECT_NAME -match "(Nightly)") {
|
|
Write-Output "UpdateChannel = Nightly"
|
|
$ModifiedVersion = "$version-NB"
|
|
} elseif ($env:APPVEYOR_PROJECT_NAME -match "(Preview)") {
|
|
Write-Output "UpdateChannel = Preview"
|
|
$ModifiedVersion = "$version-PB"
|
|
} elseif ($env:APPVEYOR_PROJECT_NAME -match "(Stable)") {
|
|
Write-Output "UpdateChannel = Stable"
|
|
$ModifiedVersion = $version
|
|
} else {
|
|
}
|
|
|
|
# Fix for AppVeyor
|
|
if($IsAppVeyor) {
|
|
if(!(Test-Path "Release")) {
|
|
New-Item -ItemType Directory -Force -Path "Release" | Out-Null
|
|
}
|
|
}
|
|
|
|
# Package debug symbols zip file
|
|
Write-Output "Packaging debug symbols"
|
|
$zipFilePrefix = "mRemoteNG-symbols"
|
|
$pdbFiles = Get-ChildItem -Path $SolutionDir -Filter *.pdb -Recurse
|
|
$tempPdbPath = (New-TemporaryDirectory)[0]
|
|
foreach ($pdbFile in $pdbFiles) {
|
|
if (($pdbFile.FullName).Contains("\$ConfigurationName\")) {
|
|
Copy-Item $pdbFile.FullName -Destination $tempPdbPath -Force
|
|
}
|
|
}
|
|
|
|
if ($IsAppVeyor) {
|
|
# AppVeyor build
|
|
$outputZipPath = Join-Path -Path $SolutionDir -ChildPath "Release\$zipFilePrefix-$($ModifiedVersion).zip"
|
|
Write-Output "outputZipPath: $outputZipPath"
|
|
7z a $outputZipPath "$tempPdbPath\*.pdb"
|
|
}
|
|
# else {
|
|
# # Local build
|
|
# $outputZipPath = "$($SolutionDir)Release\$zipFilePrefix-$($ModifiedVersion).zip"
|
|
# Write-Output "outputZipPath: $outputZipPath"
|
|
# Compress-Archive -Path $tempPdbPath -DestinationPath $outputZipPath -Force
|
|
# }
|
|
|
|
|
|
# Package portable release zip file
|
|
Write-Output "Packaging portable ZIP file"
|
|
# AppVeyor build
|
|
if ($IsAppVeyor) {
|
|
$outputZipPath = Join-Path -Path $SolutionDir -ChildPath "Release\mRemoteNG-Portable-$($ModifiedVersion).zip"
|
|
7z a -bt -bd -bb1 -mx=9 -tzip -y -r $outputZipPath $TargetDir\*
|
|
Write-Output "Portable ZIP: $outputZipPath"
|
|
}
|
|
# Local build
|
|
else {
|
|
if ($Source)
|
|
{
|
|
$outputZipPath="$($SolutionDir)\Release\mRemoteNG-Portable-$($ModifiedVersion).zip"
|
|
Compress-Archive $Source $outputZipPath -Force
|
|
} else {
|
|
Write-Output "Files do not exist:" $Source", nothing to compress"
|
|
}
|
|
}
|
|
|
|
|
|
Write-Output "End $($PSCmdlet.MyInvocation.MyCommand)"
|
|
Write-Output ""
|