48 lines
2.2 KiB
PowerShell
48 lines
2.2 KiB
PowerShell
# exit the script if the exit code is greater than 0
|
|
function CheckExitCode {
|
|
if ($LastExitCode -gt 0) {
|
|
Write-Host "`nExit code $LastExitCode was returned.`n" -ForegroundColor Red
|
|
exit
|
|
}
|
|
}
|
|
|
|
# exit the script if the file don't exist
|
|
function CheckFileExist($path) {
|
|
if (![IO.File]::Exists($path)) {
|
|
Write-Host "`nFile is missing:`n`n$path`n" -ForegroundColor Red
|
|
exit
|
|
}
|
|
}
|
|
|
|
$msbuild = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"
|
|
$innoSetup = "C:\Program Files (x86)\Inno Setup 6\ISCC.exe"
|
|
$sevenZip = "C:\Program Files\7-Zip\7z.exe"
|
|
|
|
# exit the script if one of the executables don't exist
|
|
CheckFileExist($msbuild); CheckFileExist($innoSetup); CheckFileExist($sevenZip);
|
|
|
|
# build the projects using msbuild
|
|
& $msbuild mpv.net.sln /p:Configuration=Debug /p:Platform=x64; CheckExitCode
|
|
& $msbuild mpv.net.sln /p:Configuration=Debug /p:Platform=x86; CheckExitCode
|
|
|
|
# build the setups using inno setup
|
|
& $innoSetup /Darch="x64" setup.iss; CheckExitCode
|
|
& $innoSetup /Darch="x86" setup.iss; CheckExitCode
|
|
|
|
# create the x64 portable archives using 7zip
|
|
$scriptDir = Split-Path -Path $PSCommandPath -Parent
|
|
$desktopDir = [Environment]::GetFolderPath("Desktop")
|
|
$exePath = $scriptDir + "\mpv.net\bin\x64\mpvnet.exe"
|
|
$version = [Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion
|
|
$targetDir = $desktopDir + "\mpv.net-portable-x64-" + $version
|
|
Copy-Item $scriptDir\mpv.net\bin\x64 $targetDir -Recurse -Exclude System.Management.Automation.xml -Force
|
|
& $sevenZip a -t7z -mx9 "$targetDir.7z" -r "$targetDir\*"; CheckExitCode
|
|
& $sevenZip a -tzip -mx9 "$targetDir.zip" -r "$targetDir\*"; CheckExitCode
|
|
|
|
# create the x86 portable archives using 7zip
|
|
$exePath = $scriptDir + "\mpv.net\bin\x86\mpvnet.exe"
|
|
$version = [Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion
|
|
$targetDir = $desktopDir + "\mpv.net-portable-x86-" + $version
|
|
Copy-Item $scriptDir\mpv.net\bin\x86 $targetDir -Recurse -Exclude System.Management.Automation.xml -Force
|
|
& $sevenZip a -t7z -mx9 "$targetDir.7z" -r "$targetDir\*"; CheckExitCode
|
|
& $sevenZip a -tzip -mx9 "$targetDir.zip" -r "$targetDir\*"; CheckExitCode |