Files
netch/build.ps1
2021-07-20 08:33:16 +08:00

74 lines
1.6 KiB
PowerShell

param (
[Parameter()]
[ValidateSet('Debug', 'Release')]
[string]
$Configuration = 'Release',
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]
$OutputPath = 'release',
[Parameter()]
[bool]
$SelfContained = $False,
[Parameter()]
[bool]
$PublishReadyToRun = $False,
[Parameter()]
[bool]
$PublishSingleFile = $True
)
Set-Location (Split-Path $MyInvocation.MyCommand.Path -Parent)
if (Test-Path -Path $OutputPath) {
Remove-Item -Recurse -Force $OutputPath
}
if (Test-Path -Path $OutputPath -IsValid) {
New-Item -ItemType Directory -Name $OutputPath | Out-Null
}
.\deps.ps1 $OutputPath
if ( -Not $? ) { exit $lastExitCode }
.\other\build.ps1
if ( -Not $? ) { exit $lastExitCode }
if (Test-Path .\other\release) {
Copy-Item -Recurse -Force .\other\release\* $OutputPath\bin
}
Write-Host
Write-Host "Building Netch"
dotnet publish `
-c $Configuration `
-r "win-x64" `
-p:Platform="x64" `
-p:PublishSingleFile=$PublishSingleFile `
-p:SelfContained=$SelfContained `
-p:PublishTrimmed=$SelfContained `
-p:PublishReadyToRun=$PublishReadyToRun `
-o $OutputPath `
Netch\Netch.csproj
if ( -Not $? ) { exit $lastExitCode }
Write-Host
Write-Host "Building Redirector"
msbuild `
-property:Configuration=Release `
-property:Platform=x64 `
Redirector\Redirector.vcxproj
if ( -Not $? ) { exit $lastExitCode }
Copy-Item -Force Redirector\bin\Redirector.bin $OutputPath\bin
if ( "Release".Equals($Configuration) ) {
Remove-Item -Force $OutputPath\*.pdb
Remove-Item -Force $OutputPath\*.xml
}
exit 0