From 6e0d6585e1bee93b1d53123fc8fdb9fb0763c857 Mon Sep 17 00:00:00 2001 From: Relintai Date: Fri, 14 Oct 2022 18:55:53 +0200 Subject: [PATCH] Added a new make_release script for the engine. --- misc/scripts/make_release.sh | 148 +++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100755 misc/scripts/make_release.sh diff --git a/misc/scripts/make_release.sh b/misc/scripts/make_release.sh new file mode 100755 index 000000000..4828170cc --- /dev/null +++ b/misc/scripts/make_release.sh @@ -0,0 +1,148 @@ +#!/bin/bash +set -e + +# Run this script form it's own folder + +# Before using this sript, I recommend using: +# pre_release_check_files_present.sh +# strip_all.sh + +cd ../.. +project_root=$(pwd) + +full_project_name=$1 + +version="" +version_snake_cased="" + +if [ ! -z $1 ]; then + version="." + version+=$1 + + version_snake_cased=${version//./_} +fi + +rm -Rf ./release +mkdir release + +mkdir release/temp +mkdir release/temp/templates + + +# ==== Copy Templates ==== + +# Windows (64 bit) +cp bin/pandemonium.windows.opt.64.exe release/temp/templates/windows_64_release.exe +cp bin/pandemonium.windows.opt.debug.64.exe release/temp/templates/windows_64_debug.exe + +# Windows (32 bit) +cp bin/pandemonium.windows.opt.32.exe release/temp/templates/windows_32_release.exe +cp bin/pandemonium.windows.opt.debug.32.exe release/temp/templates/windows_32_debug.exe + +# Linux (64 bit) +cp bin/pandemonium.x11.opt.64 release/temp/templates/linux_x11_64_release +cp bin/pandemonium.x11.opt.debug.64 release/temp/templates/linux_x11_64_debug + +# Linux (32 bit) +cp bin/pandemonium.x11.opt.64 release/temp/templates/linux_x11_32_release +cp bin/pandemonium.x11.opt.debug.64 release/temp/templates/linux_x11_32_debug + +# Pi4 +cp bin/pandemonium.x11.opt.pi4 release/temp/templates/linux_x11_pi4_release +cp bin/pandemonium.x11.opt.debug.pi4 release/temp/templates/linux_x11_pi4_debug + +# Server - Linux (64 bit) +cp bin/pandemonium_server.x11.opt.64 release/temp/templates/linux_server_x11_64_release +cp bin/pandemonium_server.x11.opt.debug.64 release/temp/templates/linux_server_x11_64_debug + +# JS +cp bin/pandemonium.javascript.opt.zip release/temp/templates/webassembly_release.zip +cp bin/pandemonium.javascript.opt.debug.zip release/temp/templates/webassembly_debug.zip + +cp bin/pandemonium.javascript.opt.threads.zip release/temp/templates/webassembly_threads_release.zip +cp bin/pandemonium.javascript.opt.debug.threads.zip release/temp/templates/webassembly_threads_debug.zip + +# Android +cp bin/android_source.zip release/temp/templates/android_source.zip +cp bin/android_debug.apk release/temp/templates/android_debug.apk +cp bin/android_release.apk release/temp/templates/android_release.apk +cp bin/pandemonium-lib.release.aar release/temp/templates/android_pandemonium-lib.release.aar + +# OSX - export templates +cp bin/osx.zip release/temp/templates/osx.zip + +# ==== Copy Enditors ==== + +# Windows (64 bit) +cp bin/pandemonium.windows.opt.tools.64.exe release/temp/pandemonium_v${version_snake_cased}_stable_win64.exe + +# Windows (32 bit) +cp bin/pandemonium.windows.opt.tools.32.exe release/temp/pandemonium_v${version_snake_cased}_stable_win32.exe + +# Linux (64 bit) +cp bin/pandemonium.x11.opt.tools.64 release/temp/pandemonium_v${version_snake_cased}_stable_linux64 + +# Linux (32 bit) +cp bin/pandemonium.x11.opt.tools.64 release/temp/pandemonium_v${version_snake_cased}_stable_linux32 + +# Pi4 +cp bin/pandemonium.x11.opt.tools.pi4 release/temp/pandemonium_v${version_snake_cased}_stable_pi4 + +# Server - Linux (64 bit) +cp bin/pandemonium_server.x11.opt.tools.64 release/temp/pandemonium_v${version_snake_cased}_stable_linux_server64 + +# JS +cp bin/pandemonium.javascript.opt.tools.threads.zip release/temp/pandemonium_v${version_snake_cased}_stable_javascript.zip + +# Android +cp bin/android_editor.apk release/temp/pandemonium_v${version_snake_cased}_stable_android.apk + +# OSX - Editor +cp -r bin/Pandemonium.app release/temp/pandemonium_v${version_snake_cased}_stable_osx.app + +# ==== Copy sources ==== + +mkdir release/temp/pandemonium_v${version_snake_cased}_source + +# Warn if a file is over a megabyte. Used to catch big temporary files that would slip through outherwise +python ./misc/scripts_app/copy_repos.py . ./release/temp/pandemonium_v${version_snake_cased}_source 1048576 + +# ==== Create version.txt for the export templates ==== + +./bin/pandemonium.x11.opt.tools.64 --version-full-config > release/temp/templates/version.txt + +# ==== Zip everything ==== + +cd release/temp + +# Export templates + +zip -q -r ../pandemonium_v${version_snake_cased}_stable_export_templates.zip ./templates/* + +# Editors +# Windows (64 bit) +zip -q ../pandemonium_v${version_snake_cased}_stable_win64.zip ./pandemonium_v${version_snake_cased}_stable_win64.exe +# Windows (32 bit) +zip -q ../pandemonium_v${version_snake_cased}_stable_win32.zip ./pandemonium_v${version_snake_cased}_stable_win32.exe +# Linux (64 bit) +zip -q ../pandemonium_v${version_snake_cased}_stable_linux64.zip ./pandemonium_v${version_snake_cased}_stable_linux64 +# Linux (32 bit) +zip -q ../pandemonium_v${version_snake_cased}_stable_linux32.zip ./pandemonium_v${version_snake_cased}_stable_linux32 +# Pi4 +zip -q ../pandemonium_v${version_snake_cased}_stable_pi4.zip ./pandemonium_v${version_snake_cased}_stable_pi4 +# Server - Linux (64 bit) +zip -q ../pandemonium_v${version_snake_cased}_stable_linux_server64.zip ./pandemonium_v${version_snake_cased}_stable_linux_server64 +# Android +zip -q ../pandemonium_v${version_snake_cased}_stable_android.zip ./pandemonium_v${version_snake_cased}_stable_android.apk +# OSX - Editor +zip -r -q ../pandemonium_v${version_snake_cased}_stable_osx.app.zip ./pandemonium_v${version_snake_cased}_stable_osx.app + +cd .. + +# JS +cp ./temp/pandemonium_v${version_snake_cased}_stable_javascript.zip pandemonium_v${version_snake_cased}_stable_javascript.zip + +# ==== Rename export temlpates to tpz ==== +# It's still a normal zip though +# Maybe it should be just kept as a normal zip? +mv pandemonium_v${version_snake_cased}_stable_export_templates.zip pandemonium_v${version_snake_cased}_stable_export_templates.tpz