Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 1 | [cmdletbinding()]
|
| 2 | param (
|
| 3 | [string]$mode,
|
| 4 | [string]$qtver,
|
| 5 | [string]$daemonDir,
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 6 | [string]$lrcDir,
|
| 7 | [string]$outDir
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 8 | );
|
| 9 |
|
Andreas Traczyk | 5749e48 | 2020-08-27 22:10:55 -0400 | [diff] [blame] | 10 | $clientDir = split-path -parent $MyInvocation.MyCommand.Definition
|
| 11 | $stamp = (git rev-parse HEAD).Substring(0, 8)
|
| 12 | $stampFile = $clientDir + "\.deploy.stamp"
|
| 13 | If (test-path $stampFile) {
|
| 14 | if($stamp = (Get-Content -Path $stampFile)) {
|
| 15 | write-host "deployment stamp up-to-date" $outDir -ForegroundColor Cyan
|
| 16 | exit 0
|
| 17 | }
|
| 18 | }
|
| 19 |
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 20 | # default values
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 21 | $qtver = If ($qtver) { $qtver } Else { "5.15.0" }
|
| 22 | $mode = If ($mode) { $mode } Else { "Release" }
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 23 |
|
Andreas Traczyk | b747b3d | 2020-10-02 16:44:04 -0400 | [diff] [blame] | 24 | if (!$outDir) { $outDir = $clientDir + "\x64\" + $mode }
|
| 25 | If (!(test-path $outDir)) { New-Item -ItemType directory -Path $outDir -Force }
|
| 26 |
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 27 | $qtverSplit1, $qtverSplit2 , $qtverSplit3 = $qtver.Split('.')
|
| 28 | $qtMsvcDir = "msvc2019_64"
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 29 |
|
| 30 | $QtDir = "C:\Qt\$qtver\$qtMsvcDir"
|
| 31 |
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 32 | if (!$daemonDir) { $daemonDir = $clientDir + '\..\daemon' }
|
| 33 | if (!$lrcDir) { $lrcDir = $clientDir + '\..\lrc' }
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 34 |
|
| 35 | write-host "********************************************************************************" -ForegroundColor Magenta
|
Andreas Traczyk | 5749e48 | 2020-08-27 22:10:55 -0400 | [diff] [blame] | 36 | write-host "copying deployment files..." -ForegroundColor Green
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 37 | write-host "using daemonDir: " $daemonDir -ForegroundColor Magenta
|
| 38 | write-host "using lrcDir: " $lrcDir -ForegroundColor Magenta
|
| 39 | write-host "using QtDir: " $QtDir -ForegroundColor Magenta
|
| 40 | write-host "********************************************************************************" -ForegroundColor Magenta
|
| 41 |
|
| 42 | # dependency bin files and misc
|
| 43 | $FilesToCopy = @(
|
| 44 | "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avcodec-58.dll",
|
| 45 | "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avutil-56.dll",
|
| 46 | "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avformat-58.dll",
|
| 47 | "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avdevice-58.dll",
|
| 48 | "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\swresample-3.dll",
|
| 49 | "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\swscale-5.dll",
|
| 50 | "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avfilter-7.dll",
|
| 51 | "$daemonDir\contrib\build\openssl\out32dll\libeay32.dll",
|
| 52 | "$daemonDir\contrib\build\openssl\out32dll\ssleay32.dll",
|
Yang Wang | 385cf87 | 2020-08-21 12:33:46 -0400 | [diff] [blame] | 53 | "$QtDir\..\..\Tools\OpenSSL\Win_x64\bin\libcrypto-1_1-x64.dll",
|
| 54 | "$QtDir\..\..\Tools\OpenSSL\Win_x64\bin\libssl-1_1-x64.dll",
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 55 | "$clientDir\qt.conf",
|
| 56 | "$clientDir\images\jami.ico",
|
| 57 | "$clientDir\License.rtf"
|
| 58 | )
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 59 | foreach ($i in $FilesToCopy) {
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 60 | write-host "copying: " $i " => " $outDir -ForegroundColor Cyan
|
| 61 | Copy-Item -Path $i -Recurse -Destination $outDir -Force -Container
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 62 | }
|
| 63 |
|
| 64 | ############
|
| 65 | # qt
|
| 66 | ############
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 67 | $windeployqt = "$QtDir\bin\windeployqt.exe --qmldir $clientDir\src --release $outDir\Jami.exe"
|
| 68 | Invoke-Expression $windeployqt
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 69 |
|
| 70 | # ringtones
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 71 | $CopyDir = $outDir + "\ringtones"
|
| 72 | If (!(test-path $CopyDir)) { New-Item -ItemType directory -Path $CopyDir -Force }
|
| 73 | $RingtonePath = "$clientDir\..\daemon\ringtones"
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 74 | write-host "copying ringtones..."
|
| 75 | Get-ChildItem -Path $RingtonePath -Include *.ul, *.ogg, *.wav, *.opus -Recurse | ForEach-Object {
|
| 76 | write-host "copying ringtone: " $_.FullName " => " $CopyDir -ForegroundColor Cyan
|
| 77 | Copy-Item -Path $_.FullName -Destination $CopyDir -Force –Recurse
|
| 78 | }
|
| 79 |
|
| 80 | # qt translations
|
| 81 | $lrelease = "$QtDir\bin\lrelease.exe"
|
| 82 |
|
| 83 | # lrc translations
|
| 84 | $lrcTSPath = "$lrcDir\translations"
|
| 85 | Get-ChildItem -Path $lrcTSPath -Include *.ts -Recurse | ForEach-Object {
|
| 86 | & $lrelease $_.FullName
|
| 87 | }
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 88 | $CopyDir = $outDir + "\share\libringclient\translations"
|
| 89 | If (!(test-path $CopyDir)) { New-Item -ItemType directory -Path $CopyDir -Force }
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 90 | write-host "copying lrc translations..."
|
| 91 | Get-ChildItem -Path $lrcTSPath -Include *.qm -Recurse | ForEach-Object {
|
| 92 | write-host "copying translation file: " $_.FullName " => " $CopyDir -ForegroundColor Cyan
|
| 93 | Copy-Item -Path $_.FullName -Destination $CopyDir -Force –Recurse
|
| 94 | }
|
| 95 |
|
| 96 | # client translations
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 97 | $clientTSPath = "$clientDir\translations"
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 98 | Get-ChildItem -Path $clientTSPath -Include *.ts -Recurse | ForEach-Object {
|
| 99 | & $lrelease $_.FullName
|
| 100 | }
|
Andreas Traczyk | 470d3c9 | 2020-08-19 17:55:28 -0400 | [diff] [blame] | 101 | $CopyDir = $outDir + "\share\ring\translations"
|
| 102 | If (!(test-path $CopyDir)) { New-Item -ItemType directory -Path $CopyDir -Force }
|
Sébastien Blin | 1f91576 | 2020-08-03 13:27:42 -0400 | [diff] [blame] | 103 | write-host "copying client translations..."
|
| 104 | Get-ChildItem -Path $clientTSPath -Include *.qm -Recurse | ForEach-Object {
|
| 105 | write-host "copying translation file: " $_.FullName " => " $CopyDir -ForegroundColor Cyan
|
| 106 | Copy-Item -Path $_.FullName -Destination $CopyDir -Force –Recurse
|
| 107 | }
|
| 108 |
|
Andreas Traczyk | 5749e48 | 2020-08-27 22:10:55 -0400 | [diff] [blame] | 109 | New-Item -Path $stampFile -ItemType "file" -Value $stamp -Force
|
Yang Wang | 385cf87 | 2020-08-21 12:33:46 -0400 | [diff] [blame] | 110 | write-host "copy completed" -NoNewline -ForegroundColor Green
|