Version 1.2.16: Improve release build scripts.

This commit is contained in:
John Preston 2018-04-08 17:17:56 +04:00
parent f3eac6b259
commit d055908f4f
3 changed files with 172 additions and 168 deletions

View File

@ -58,7 +58,7 @@ set "SignPath=%HomePath%\..\..\TelegramPrivate\Sign.bat"
set "SignAppxPath=%HomePath%\..\..\TelegramPrivate\AppxSign.bat"
set "BinaryName=Telegram"
set "DropboxSymbolsPath=Y:\Telegram\symbols"
set "FinalReleasePath=Z:\Telegram\deploy_temp\tsetup"
set "FinalReleasePath=Z:\Telegram\backup"
if not exist %DropboxSymbolsPath% (
echo Dropbox path %DropboxSymbolsPath% not found!
@ -247,7 +247,7 @@ if %BuildUWP% neq 0 (
if %errorlevel% neq 0 goto error
)
set "FinalDeployPath=%FinalReleasePath%\%AppVersionStrMajor%\%AppVersionStrFull%"
set "FinalDeployPath=%FinalReleasePath%\%AppVersionStrMajor%\%AppVersionStrFull%\tsetup"
if %BuildUWP% equ 0 (
echo.
@ -264,8 +264,7 @@ if %BuildUWP% equ 0 (
if not exist "%DeployPath%\Updater.exe" goto error
if not exist "%DeployPath%\Updater.pdb" goto error
if not exist "%DeployPath%\Updater.exe.pdb" goto error
if not exist "%FinalReleasePath%\%AppVersionStrMajor%" mkdir "%FinalReleasePath%\%AppVersionStrMajor%"
if not exist "%FinalDeployPath%" mkdir "%FinalDeployPath%"
md "%FinalDeployPath%"
xcopy "%DeployPath%\%UpdateFile%" "%FinalDeployPath%\" /Y
xcopy "%DeployPath%\%PortableFile%" "%FinalDeployPath%\" /Y

View File

@ -121,6 +121,11 @@ if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ]; then
Error "Dropbox path not found!"
fi
BackupPath="/media/psf/backup/$AppVersionStrMajor/$AppVersionStrFull/t$BuildTarget"
if [ ! -d "/media/psf/backup" ]; then
Error "Backup folder not found!"
fi
gyp/refresh.sh
cd $ReleasePath
@ -226,6 +231,13 @@ if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ]; then
fi
cd "$DeployPath"
tar -cJvf "$SetupFile" "$BinaryName/"
mkdir -p $BackupPath
cp "$SetupFile" "$BackupPath/"
cp "$UpdateFile" "$BackupPath/"
if [ "$BetaVersion" != "0" ]; then
cp -v "$BetaKeyFile" "$BackupPath/"
fi
fi
if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarget" == "macstore" ]; then
@ -235,6 +247,11 @@ if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarg
Error "Dropbox path not found!"
fi
BackupPath="$HOME/Telegram/backup/$AppVersionStrMajor/$AppVersionStrFull"
if [ ! -d "$HOME/Telegram/backup" ]; then
Error "Backup path not found!"
fi
gyp/refresh.sh
xcodebuild -project Telegram.xcodeproj -alltargets -configuration Release build
@ -368,21 +385,20 @@ if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarg
mv "$ReleasePath/$UpdateFile" "$DeployPath/"
mv "$ReleasePath/$SetupFile" "$DeployPath/"
if [ "$BuildTarget" == "mac32" ]; then
ReleaseToPath="$HomePath/../../deploy_temp/tmac32"
DeployToPath="$ReleaseToPath/$AppVersionStrMajor/$AppVersionStrFull"
if [ ! -d "$ReleaseToPath/$AppVersionStrMajor" ]; then
mkdir "$ReleaseToPath/$AppVersionStrMajor"
fi
if [ ! -d "$DeployToPath" ]; then
mkdir "$DeployToPath"
fi
cp -v "$DeployPath/$UpdateFile" "$DeployToPath/"
cp -v "$DeployPath/$SetupFile" "$DeployToPath/"
if [ "$BuildTarget" == "mac" ]; then
mkdir -p "$BackupPath/tmac"
cp "$DeployPath/$UpdateFile" "$BackupPath/tmac/"
cp "$DeployPath/$SetupFile" "$BackupPath/tmac/"
if [ "$BetaVersion" != "0" ]; then
cp -v "$DeployPath/$BetaKeyFile" "$DeployToPath/"
cp -v "$DeployPath/$BetaKeyFile" "$BackupPath/tmac/"
fi
fi
if [ "$BuildTarget" == "mac32" ]; then
mkdir -p "$BackupPath/tmac32"
cp "$DeployPath/$UpdateFile" "$BackupPath/tmac32/"
cp "$DeployPath/$SetupFile" "$BackupPath/tmac32/"
if [ "$BetaVersion" != "0" ]; then
cp -v "$DeployPath/$BetaKeyFile" "$BackupPath/tmac32/"
fi
fi
elif [ "$BuildTarget" == "macstore" ]; then

View File

@ -46,180 +46,169 @@ fi
echo ""
HomePath="$FullScriptPath/.."
if [ "$BuildTarget" == "linux" ]; then
echo "Deploying version $AppVersionStrFull for Linux 64bit.."
UpdateFile="tlinuxupd$AppVersion"
SetupFile="tsetup.$AppVersionStrFull.tar.xz"
ReleasePath="$HomePath/../out/Release"
RemoteFolder="tlinux"
elif [ "$BuildTarget" == "linux32" ]; then
echo "Deploying version $AppVersionStrFull for Linux 32bit.."
UpdateFile="tlinux32upd$AppVersion"
SetupFile="tsetup32.$AppVersionStrFull.tar.xz"
ReleasePath="$HomePath/../out/Release"
RemoteFolder="tlinux32"
elif [ "$BuildTarget" == "mac" ]; then
DeployMac="0"
DeployMac32="0"
DeployWin="0"
if [ "$DeployTarget" == "mac" ]; then
DeployMac="1"
echo "Deploying version $AppVersionStrFull for OS X 10.8+.."
elif [ "$DeployTarget" == "mac32" ]; then
DeployMac32="1"
echo "Deploying version $AppVersionStrFull for OS X 10.6 and 10.7.."
elif [ "$DeployTarget" == "win" ]; then
DeployWin="1"
echo "Deploying version $AppVersionStrFull for Windows.."
else
DeployMac="1"
if [ "$BetaVersion" != "0" ]; then
DeployMac32="0"
else
DeployMac32="1"
fi
DeployWin="1"
echo "Deploying three versions of $AppVersionStrFull: for Windows, OS X 10.6 and 10.7 and OS X 10.8+.."
fi
UpdateFile="tmacupd$AppVersion"
SetupFile="tsetup.$AppVersionStrFull.dmg"
ReleasePath="$HomePath/../out/Release"
RemoteFolder="tmac"
Mac32DeployPath="$HomePath/../../deploy_temp/tmac32/$AppVersionStrMajor/$AppVersionStrFull"
Mac32UpdateFile="tmac32upd$AppVersion"
Mac32SetupFile="tsetup32.$AppVersionStrFull.dmg"
Mac32RemoteFolder="tmac32"
WinDeployPath="$HomePath/../../deploy_temp/tsetup/$AppVersionStrMajor/$AppVersionStrFull"
WinUpdateFile="tupdate$AppVersion"
WinSetupFile="tsetup.$AppVersionStrFull.exe"
WinPortableFile="tportable.$AppVersionStrFull.zip"
WinRemoteFolder="tsetup"
BackupPath="$HOME/Telegram/backup/$AppVersionStrMajor/$AppVersionStrFull"
elif [ "$BuildTarget" == "mac32" ] || [ "$BuildTarget" = "macstore" ]; then
Error "No need to deploy this target."
DeployMac="0"
DeployMac32="0"
DeployWin="0"
DeployLinux="0"
DeployLinux32="0"
if [ "$DeployTarget" == "mac" ]; then
DeployMac="1"
echo "Deploying version $AppVersionStrFull for OS X 10.8+.."
elif [ "$DeployTarget" == "mac32" ]; then
DeployMac32="1"
echo "Deploying version $AppVersionStrFull for OS X 10.6 and 10.7.."
elif [ "$DeployTarget" == "win" ]; then
DeployWin="1"
echo "Deploying version $AppVersionStrFull for Windows.."
elif [ "$DeployTarget" == "linux" ]; then
DeployLinux="1"
echo "Deploying version $AppVersionStrFull for Linux 64 bit.."
elif [ "$DeployTarget" == "linux32" ]; then
DeployLinux32="1"
echo "Deploying version $AppVersionStrFull for Linux 32 bit.."
else
Error "Invalid target!"
DeployMac="1"
DeployWin="1"
DeployLinux="1"
if [ "$BetaVersion" == "0" ]; then
DeployMac32="1"
DeployLinux32="1"
echo "Deploying five versions of $AppVersionStrFull: for Windows, OS X 10.6 and 10.7, OS X 10.8+, Linux 64 bit and Linux 32 bit.."
else
echo "Deploying three versions of $AppVersionStrFull: for Windows, OS X 10.8+ and Linux 64 bit.."
fi
fi
DeployPath="$ReleasePath/deploy/$AppVersionStrMajor/$AppVersionStrFull"
if [ "$BuildTarget" == "mac" ]; then
BackupPath="$HOME/Telegram/backup"
elif [ "$BuildTarget" == "linux" ]; then
BackupPath="/media/psf/Home/Telegram/backup"
else
Error "Can't deploy here"
fi
MacDeployPath="$BackupPath/$AppVersionStrMajor/$AppVersionStrFull/tmac"
MacUpdateFile="tmacupd$AppVersion"
MacSetupFile="tsetup.$AppVersionStrFull.dmg"
MacRemoteFolder="tmac"
Mac32DeployPath="$BackupPath/$AppVersionStrMajor/$AppVersionStrFull/tmac32"
Mac32UpdateFile="tmac32upd$AppVersion"
Mac32SetupFile="tsetup32.$AppVersionStrFull.dmg"
Mac32RemoteFolder="tmac32"
WinDeployPath="$BackupPath/$AppVersionStrMajor/$AppVersionStrFull/tsetup"
WinUpdateFile="tupdate$AppVersion"
WinSetupFile="tsetup.$AppVersionStrFull.exe"
WinPortableFile="tportable.$AppVersionStrFull.zip"
WinRemoteFolder="tsetup"
LinuxDeployPath="$BackupPath/$AppVersionStrMajor/$AppVersionStrFull/tlinux"
LinuxUpdateFile="tlinuxupd$AppVersion"
LinuxSetupFile="tsetup.$AppVersionStrFull.tar.xz"
LinuxRemoteFolder="tlinux"
Linux32DeployPath="$BackupPath/$AppVersionStrMajor/$AppVersionStrFull/tlinux32"
Linux32UpdateFile="tlinux32upd$AppVersion"
Linux32SetupFile="tsetup32.$AppVersionStrFull.tar.xz"
Linux32RemoteFolder="tlinux32"
DeployPath="$BackupPath/$AppVersionStrMajor/$AppVersionStrFull"
if [ "$BetaVersion" != "0" ]; then
if [ "$DeployTarget" == "win" ]; then
BetaFilePath="$WinDeployPath/$BetaKeyFile"
elif [ "$DeployTarget" == "mac32" ]; then
BetaFilePath="$Mac32DeployPath/$BetaKeyFile"
elif [ "$DeployTarget" == "linux" ]; then
BetaFilePath="$LinuxDeployPath/$BetaKeyFile"
elif [ "$DeployTarget" == "linux32" ]; then
BetaFilePath="$Linux32DeployPath/$BetaKeyFile"
else
BetaFilePath="$DeployPath/$BetaKeyFile"
BetaFilePath="$MacDeployPath/$BetaKeyFile"
fi
if [ ! -f "$BetaFilePath" ]; then
Error "Beta key file for $AppVersionStrFull not found :("
Error "Beta key file for $AppVersionStrFull not found."
fi
while IFS='' read -r line || [[ -n "$line" ]]; do
BetaSignature="$line"
done < "$BetaFilePath"
UpdateFile="${UpdateFile}_${BetaSignature}"
if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ]; then
SetupFile="tbeta${BetaVersion}_${BetaSignature}.tar.xz"
elif [ "$BuildTarget" == "mac" ]; then
SetupFile="tbeta${BetaVersion}_${BetaSignature}.zip"
Mac32UpdateFile="${Mac32UpdateFile}_${BetaSignature}"
Mac32SetupFile="tbeta${BetaVersion}_${BetaSignature}.zip"
WinUpdateFile="${WinUpdateFile}_${BetaSignature}"
WinPortableFile="tbeta${BetaVersion}_${BetaSignature}.zip"
MacUpdateFile="${MacUpdateFile}_${BetaSignature}"
MacSetupFile="tbeta${BetaVersion}_${BetaSignature}.zip"
Mac32UpdateFile="${Mac32UpdateFile}_${BetaSignature}"
Mac32SetupFile="tbeta${BetaVersion}_${BetaSignature}.zip"
WinUpdateFile="${WinUpdateFile}_${BetaSignature}"
WinPortableFile="tbeta${BetaVersion}_${BetaSignature}.zip"
LinuxUpdateFile="${LinuxUpdateFile}_${BetaSignature}"
LinuxSetupFile="tbeta${BetaVersion}_${BetaSignature}.tar.xz"
Linux32UpdateFile="${Linux32UpdateFile}_${BetaSignature}"
Linux32SetupFile="tbeta${BetaVersion}_${BetaSignature}.tar.xz"
fi
if [ "$DeployMac" == "1" ]; then
if [ ! -f "$MacDeployPath/$MacUpdateFile" ]; then
Error "$MacDeployPath/$MacUpdateFile not found!";
fi
elif [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ]; then
BackupPath="/media/psf/backup/$AppVersionStrMajor/$AppVersionStrFull/t$BuildTarget"
if [ ! -d "/media/psf/backup" ]; then
Error "Backup folder not found!"
if [ ! -f "$MacDeployPath/$MacSetupFile" ]; then
Error "$MacDeployPath/$MacSetupFile not found!"
fi
fi
if [ "$DeployMac32" == "1" ]; then
if [ ! -f "$Mac32DeployPath/$Mac32UpdateFile" ]; then
Error "$Mac32UpdateFile not found!"
fi
if [ ! -f "$Mac32DeployPath/$Mac32SetupFile" ]; then
Error "$Mac32SetupFile not found!"
fi
fi
if [ "$DeployWin" == "1" ]; then
if [ ! -f "$WinDeployPath/$WinUpdateFile" ]; then
Error "$WinUpdateFile not found!"
fi
if [ "$BetaVersion" == "0" ]; then
if [ ! -f "$WinDeployPath/$WinSetupFile" ]; then
Error "$WinSetupFile not found!"
fi
fi
if [ ! -f "$WinDeployPath/$WinPortableFile" ]; then
Error "$WinPortableFile not found!"
fi
fi
if [ "$DeployLinux" == "1" ]; then
if [ ! -f "$LinuxDeployPath/$LinuxUpdateFile" ]; then
Error "$LinuxDeployPath/$LinuxUpdateFile not found!"
fi
if [ ! -f "$LinuxDeployPath/$LinuxSetupFile" ]; then
Error "$LinuxDeployPath/$LinuxSetupFile not found!"
fi
fi
if [ "$DeployLinux32" == "1" ]; then
if [ ! -f "$Linux32DeployPath/$Linux32UpdateFile" ]; then
Error "$Linux32DeployPath/$Linux32UpdateFile not found!"
fi
if [ ! -f "$Linux32DeployPath/$Linux32SetupFile" ]; then
Error "$Linux32DeployPath/$Linux32SetupFile not found!"
fi
fi
#if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ] || [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarget" == "macstore" ]; then
$FullScriptPath/../../../TelegramPrivate/mount.sh
if [ "$BuildTarget" != "mac" ] || [ "$DeployMac" == "1" ]; then
if [ ! -f "$DeployPath/$UpdateFile" ]; then
Error "$UpdateFile not found!";
fi
if [ ! -f "$DeployPath/$SetupFile" ]; then
Error "$SetupFile not found!"
fi
fi
if [ "$BuildTarget" == "mac" ]; then
if [ "$DeployMac32" == "1" ]; then
if [ ! -f "$Mac32DeployPath/$Mac32UpdateFile" ]; then
Error "$Mac32UpdateFile not found!"
fi
if [ ! -f "$Mac32DeployPath/$Mac32SetupFile" ]; then
Error "$Mac32SetupFile not found!"
fi
fi
if [ "$DeployWin" == "1" ]; then
if [ ! -f "$WinDeployPath/$WinUpdateFile" ]; then
Error "$WinUpdateFile not found!"
fi
if [ "$BetaVersion" == "0" ]; then
if [ ! -f "$WinDeployPath/$WinSetupFile" ]; then
Error "$WinSetupFile not found!"
fi
fi
if [ ! -f "$WinDeployPath/$WinPortableFile" ]; then
Error "$WinPortableFile not found!"
fi
fi
fi
#fi
if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ] || [ "$BuildTarget" == "mac" ]; then
if [ "$BuildTarget" != "mac" ] || [ "$DeployMac" == "1" ]; then
rsync -av --progress "$DeployPath/$UpdateFile" "$DeployPath/$SetupFile" "tmaster:tdesktop/www/$RemoteFolder/"
fi
if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ]; then
if [ "$BetaVersion" == "0" ]; then
mkdir -p "$BackupPath"
cp "$DeployPath/$SetupFile" "$BackupPath"
fi
fi
if [ "$BuildTarget" == "mac" ]; then
if [ "$DeployMac32" == "1" ]; then
rsync -av --progress "$Mac32DeployPath/$Mac32UpdateFile" "$Mac32DeployPath/$Mac32SetupFile" "tmaster:tdesktop/www/$Mac32RemoteFolder/"
fi
if [ "$DeployWin" == "1" ]; then
if [ "$BetaVersion" == "0" ]; then
rsync -av --progress "$WinDeployPath/$WinUpdateFile" "$WinDeployPath/$WinSetupFile" "$WinDeployPath/$WinPortableFile" "tmaster:tdesktop/www/$WinRemoteFolder/"
else
rsync -av --progress "$WinDeployPath/$WinUpdateFile" "$WinDeployPath/$WinPortableFile" "tmaster:tdesktop/www/$WinRemoteFolder/"
fi
fi
if [ "$DeployMac" == "1" ]; then
if [ "$BetaVersion" == "0" ]; then
mkdir -p "$BackupPath/tmac"
mv -v "$DeployPath/$SetupFile" "$BackupPath/tmac/"
fi
fi
if [ "$DeployMac32" == "1" ]; then
if [ "$BetaVersion" == "0" ]; then
mkdir -p "$BackupPath/tmac32"
mv -v "$Mac32DeployPath/$Mac32SetupFile" "$BackupPath/tmac32/"
fi
fi
if [ "$DeployWin" == "1" ]; then
if [ "$BetaVersion" == "0" ]; then
mkdir -p "$BackupPath/tsetup"
mv -v "$WinDeployPath/$WinSetupFile" "$BackupPath/tsetup/"
mv -v "$WinDeployPath/$WinPortableFile" "$BackupPath/tsetup/"
fi
fi
declare -a Files
if [ "$DeployMac" == "1" ]; then
Files+=("tmac/$MacUpdateFile" "tmac/$MacSetupFile")
fi
if [ "$DeployMac32" == "1" ]; then
Files+=("tmac32/$Mac32UpdateFile" "tmac32/$Mac32SetupFile")
fi
if [ "$DeployWin" == "1" ]; then
Files+=("tsetup/$WinUpdateFile" "tsetup/$WinPortableFile")
if [ "$BetaVersion" == "0" ]; then
Files+=("tsetup/$WinSetupFile")
fi
fi
if [ "$DeployLinux" == "1" ]; then
Files+=("tlinux/$LinuxUpdateFile" "tlinux/$LinuxSetupFile")
fi
if [ "$DeployLinux32" == "1" ]; then
Files+=("tlinux32/$Linux32UpdateFile" "tlinux32/$Linux32SetupFile")
fi
cd $DeployPath
rsync -avR --progress ${Files[@]} "$FullScriptPath/../../../TelegramPrivate/remote/files"
echo "Version $AppVersionStrFull was deployed!"
cd $FullExecPath