diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index be2dc501ff..7a6dfe434f 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -70,13 +70,13 @@ jobs: - name: make bundle packages run: | cd master/scripts - ./windows-bundler.sh win32 - ./windows-bundler.sh win64 - ./debian-packager.sh - ./unix-bundler.sh linux-all - ./unix-bundler.sh linux-x64 - ./unix-bundler.sh macOS-x64 - ./unix-bundler.sh macOS-arm64 + ./bundler.sh -o ../../master/server/build/ windows-x86 + ./bundler.sh -o ../../master/server/build/ windows-x64 + ./bundler.sh -o ../../master/server/build/ linux-all + ./bundler.sh -o ../../master/server/build/ linux-x64 + ./bundler.sh -o ../../master/server/build/ debian-all + ./bundler.sh -o ../../master/server/build/ macOS-x64 + ./bundler.sh -o ../../master/server/build/ macOS-arm64 - name: Checkout preview branch uses: actions/checkout@v2 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2b8535de94..bb651c87fb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,6 +1,7 @@ name: CI Publish on: + workflow_dispatch: push: tags: - "v*" @@ -61,13 +62,13 @@ jobs: - name: Make bundle packages run: | cd master/scripts - ./windows-bundler.sh win32 - ./windows-bundler.sh win64 - ./debian-packager.sh - ./unix-bundler.sh linux-all - ./unix-bundler.sh linux-x64 - ./unix-bundler.sh macOS-x64 - ./unix-bundler.sh macOS-arm64 + ./bundler.sh -o ../../master/server/build/ windows-x86 + ./bundler.sh -o ../../master/server/build/ windows-x64 + ./bundler.sh -o ../../master/server/build/ linux-all + ./bundler.sh -o ../../master/server/build/ linux-x64 + ./bundler.sh -o ../../master/server/build/ debian-all + ./bundler.sh -o ../../master/server/build/ macOS-x64 + ./bundler.sh -o ../../master/server/build/ macOS-arm64 - name: Upload Release uses: xresloader/upload-to-github-release@v1 diff --git a/scripts/bundler.sh b/scripts/bundler.sh new file mode 100755 index 0000000000..6aae501c66 --- /dev/null +++ b/scripts/bundler.sh @@ -0,0 +1,268 @@ +#!/bin/bash + +# Copyright (C) Contributors to the Suwayomi project +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +main() { + POSITIONAL_ARGS=() + DOWNLOAD_ONLY=false + OUTPUT_DIR=. + while [ "$#" -gt 0 ]; do + case "$1" in + -o|--output-dir) + OUTPUT_DIR="$(readlink -e "$2")" + shift + shift + ;; + *) + POSITIONAL_ARGS+=("$1") + shift + ;; + esac + done + set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters + + OS="$1" + jar="$(ls ../../master/server/build/*.jar | tail -n1)" + release_name="$(echo "${jar%.*}" | sed 's/.jar//' | xargs basename)-$OS" + release_version="$(tmp="${jar%-*}"; echo "${tmp##*-}" | tr -d v)" + #local release_revision_number="$(tmp="${jar%.*}" && echo "${tmp##*-}" | tr -d r)" + electron_version="v14.0.0" + + # clean temporary directory on function return + trap "rm -rf $release_name/" RETURN + mkdir "$release_name/" + + case "$OS" in + debian-all) + make_deb_package + move_release_to_output_dir + ;; + linux-all) + make_linux_bundle + move_release_to_output_dir + ;; + linux-x64) + jre="OpenJDK8U-jre_x64_linux_hotspot_8u302b08.tar.gz" + jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/$jre" + electron="electron-$electron_version-linux-x64.zip" + electron_url="https://github.com/electron/electron/releases/download/$electron_version/$electron" + download_jre_and_electron + make_linux_bundle + move_release_to_output_dir + ;; + macOS-x64) + jre="OpenJDK8U-jre_x64_mac_hotspot_8u302b08.tar.gz" + jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/$jre" + electron="electron-$electron_version-darwin-x64.zip" + electron_url="https://github.com/electron/electron/releases/download/$electron_version/$electron" + download_jre_and_electron + make_macos_bundle + move_release_to_output_dir + ;; + macOS-arm64) + jre="zulu8.56.0.23-ca-jre8.0.302-macosx_aarch64.tar.gz" + jre_url="https://cdn.azul.com/zulu/bin/$jre" + electron="electron-$electron_version-darwin-arm64.zip" + electron_url="https://github.com/electron/electron/releases/download/$electron_version/$electron" + download_jre_and_electron + make_macos_bundle + move_release_to_output_dir + ;; + windows-x86) + jre="OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip" + jre_url="https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/$jre" + electron="electron-$electron_version-win32-ia32.zip" + electron_url="https://github.com/electron/electron/releases/download/$electron_version/$electron" + download_jre_and_electron + make_windows_bundle + move_release_to_output_dir + + make_windows_package + move_release_to_output_dir + ;; + windows-x64) + jre="OpenJDK8U-jre_x64_windows_hotspot_8u302b08.zip" + jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/$jre" + electron="electron-$electron_version-win32-x64.zip" + electron_url="https://github.com/electron/electron/releases/download/$electron_version/$electron" + download_jre_and_electron + make_windows_bundle + move_release_to_output_dir + + make_windows_package + move_release_to_output_dir + ;; + *) + error $LINENO "Unsupported operating system: $OS" 2 + ;; + esac +} + +move_release_to_output_dir() { + # clean up from possible previous runs + if [ -f "$OUTPUT_DIR/$release" ]; then + rm "$OUTPUT_DIR/$release" + fi + mv "$release" "$OUTPUT_DIR/" +} + +download_jre_and_electron() { + if [ ! -f "$jre" ]; then + curl -L "$jre_url" -o "$jre" + fi + if [ ! -f "$electron" ]; then + curl -L "$electron_url" -o "$electron" + fi + + mkdir -p "$release_name/jre/" + local ext="${jre##*.}" + if [ "$ext" = "zip" ]; then + jre_dir="$(unzip "$jre" | sed -n '2p' | cut -d: -f2 | xargs basename)" + mv "$jre_dir" "$release_name/jre" + else + # --strip-components=1: untar an archive without the root folder + tar xvf "$jre" --strip-components=1 -C "$release_name/jre/" + fi + unzip "$electron" -d "$release_name/electron/" +} + +make_linux_bundle() { + cp "$jar" "$release_name/tachidesk-server.jar" + cp "resources/tachidesk-server-browser-launcher.sh" "$release_name/" + cp "resources/tachidesk-server-debug-launcher.sh" "$release_name/" + cp "resources/tachidesk-server-electron-launcher.sh" "$release_name/" + cp "resources/tachidesk-server.desktop" "$release_name/" + cp "../../master/server/src/main/resources/icon/faviconlogo.png" \ + "$release_name/tachidesk-server.png" + cp "resources/systemd"/* "$release_name/" + + release="$release_name.tar.gz" + tar -I "gzip -9" -cvf "$release" "$release_name/" +} + +make_macos_bundle() { + cp "$jar" "$release_name/Tachidesk.jar" + cp "resources/Tachidesk Browser Launcher.command" "$release_name/" + cp "resources/Tachidesk Debug Launcher.command" "$release_name/" + cp "resources/Tachidesk Electron Launcher.command" "$release_name/" + + release="$release_name.zip" + zip -9 -r "$release" "$release_name/" +} + +# https://wiki.debian.org/SimplePackagingTutorial +# https://www.debian.org/doc/manuals/packaging-tutorial/packaging-tutorial.pdf +make_deb_package() { + make_linux_bundle "$release_name" "$jar" + cp -r "resources/deb/" "$release_name/debian/" + sed -i "s/\$pkgver/$release_version/" "$release_name/debian/changelog" + sed -i "s/\$pkgrel/1/" "$release_name/debian/changelog" + + # clean temporary directory on function return + local temp_dir="$(mktemp -d)" + trap "rm -rf $temp_dir" RETURN + + #behind $release_version is underscore "_" + local source_dir="tachidesk-server-$release_version" + local upstream_source="tachidesk-server_$release_version.orig.tar.gz" + mv "$release_name/" "$temp_dir/$source_dir/" + mv "$release_name.tar.gz" "$temp_dir/$upstream_source" + + sudo apt install devscripts build-essential dh-exec + cd "$temp_dir/$source_dir" + dpkg-buildpackage --no-sign --build=all + cd - + + local deb="tachidesk-server_$release_version-1_all.deb" + release="$release_name.deb" + mv "$temp_dir/$deb" "$release" +} + +make_windows_bundle() { + ## I'll disable this section until someone find a solution to this error: + ##E: Unable to correct problems, you have held broken packages. + ##./bundler.sh: line 250: wine: command not found + + ## check if running under github actions + #if [ "$CI" = true ]; then + ## change electron executable's icon + #sudo dpkg --add-architecture i386 + #wget -qO - https://dl.winehq.org/wine-builds/winehq.key \ + #| sudo apt-key add - + #sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport + #sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu \ + #$(lsb_release -cs) main" + #sudo apt install --install-recommends winehq-stable + #fi + ## this script assumes that wine is installed here on out + + #local rcedit="rcedit-x85.exe" + #local rcedit_url="https://github.com/electron/rcedit/releases/download/v0.1.1/$rcedit" + ## change electron's icon + #if [ ! -f "$rcedit" ]; then + #curl -L "$rcedit_url" -o "$rcedit" + #fi + + local icon="../../master/server/src/main/resources/icon/faviconlogo.ico" + #WINEARCH=win32 wine "$rcedit" "$release_name/electron/electron.exe" \ + # --set-icon "$icon" + + cp "$jar" "$release_name/Tachidesk.jar" + cp "resources/Tachidesk Browser Launcher.bat" "$release_name" + cp "resources/Tachidesk Debug Launcher.bat" "$release_name" + cp "resources/Tachidesk Electron Launcher.bat" "$release_name" + + release="$release_name.zip" + zip -9 -r "$release" "$release_name" +} + +make_windows_package() { + if [ "$CI" = true ]; then + sudo apt install -y wixl + fi + + find "$release_name/jre" \ + | wixl-heat --var var.SourceDir -p "$release_name/" \ + --directory-ref jre --component-group jre >"$release_name/jre.wxs" + find "$release_name/electron" \ + | wixl-heat --var var.SourceDir -p "$release_name/" \ + --directory-ref electron --component-group electron >"$release_name/electron.wxs" + + local icon="../../master/server/src/main/resources/icon/faviconlogo.ico" + local arch=${OS##*-} + release="$release_name.msi" + + wixl -D ProductVersion="$release_version" -D SourceDir="$release_name" \ + -D Icon="$icon" --arch "$arch" "resources/msi/tachidesk-server-$arch.wxs" \ + "$release_name/jre.wxs" "$release_name/electron.wxs" -o "$release" +} + +# Error handler +# set -u: Treat unset variables as an error when substituting. +# set -o pipefail: Prevents errors in pipeline from being masked. +# set -e: Immediatly exit if any command has a non-zero exit status. +# set -E: Inherit the trap ERR function before exiting by set. +# +# set -e is not recommended and unpredictable. +# see https://stackoverflow.com/questions/64786/error-handling-in-bash +# and http://mywiki.wooledge.org/BashFAO/105 +set -euo pipefail +error() { + local parent_lineno="$1" + local message="$2" + local code="${3:-1}" + if [ -z "$message" ]; then + echo "$0: line $parent_lineno: exiting with status $code" + else + echo "$0: line $parent_lineno: $message: exiting with status $code" + fi + exit "$code" +} +trap 'error $LINENO ""' ERR + +main "$@"; exit + diff --git a/scripts/debian-packager.sh b/scripts/debian-packager.sh deleted file mode 100755 index 0d009f96c4..0000000000 --- a/scripts/debian-packager.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -# Copyright (C) Contributors to the Suwayomi project -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at https://mozilla.org/MPL/2.0/. - -echo "Creating DEB Package" -pkgname="tachidesk-server" -PkgName="Tachidesk-Server" -jar=$(ls ../server/build/*.jar | tail -n1) -pkgver="$(tmp="${jar%-*}" && echo "${tmp##*-}" | tr -d v)" -pkgrel=1 - -srcdir="$pkgname-$pkgver" # uses hyphen "-" -srctgz="${pkgname}_$pkgver.orig.tar.gz" # uses underscore "_" -deb="${pkgname}_$pkgver-${pkgrel}_all.deb" -Deb="${PkgName}_$pkgver-${pkgrel}_all.deb" - -# Prepare -mkdir "$srcdir/" -cp "$jar" "$srcdir/$pkgname.jar" -cp "resources/$pkgname-browser-launcher.sh" "$srcdir/" -cp "resources/$pkgname-debug-launcher.sh" "$srcdir/" -cp "resources/$pkgname-electron-launcher.sh" "$srcdir/" -cp "resources/$pkgname.desktop" "$srcdir/" -cp "../server/src/main/resources/icon/faviconlogo.png" "$srcdir/$pkgname.png" -cp "resources/systemd"/* "$srcdir/" - -GZIP=-9 tar -cvzf "$srctgz" "$srcdir/" - -cp -r "resources/debian" "$srcdir/" -sed -i "s/\$pkgver/$pkgver/" "$srcdir/debian/changelog" -sed -i "s/\$pkgrel/$pkgrel/" "$srcdir/debian/changelog" - -# Build -mkdir "debuild/" -mv "$srctgz" "$srcdir/" "debuild/" -sudo apt install devscripts build-essential dh-exec -# --lintian-opts --profile are for building Debian packages on Ubuntu -cd "debuild/$srcdir/debian" -debuild -uc -us --lintian-opts --profile debian -cd - - -# clean up from possible previous runs -if [ -f "../server/build/$Deb" ]; then - rm "../server/build/$Deb" -fi - -mv "debuild/$deb" "../server/build/$Deb" -rm -rf "debuild/" diff --git a/scripts/resources/debian/changelog b/scripts/resources/deb/changelog similarity index 100% rename from scripts/resources/debian/changelog rename to scripts/resources/deb/changelog diff --git a/scripts/resources/debian/control b/scripts/resources/deb/control similarity index 100% rename from scripts/resources/debian/control rename to scripts/resources/deb/control diff --git a/scripts/resources/debian/copyright b/scripts/resources/deb/copyright similarity index 100% rename from scripts/resources/debian/copyright rename to scripts/resources/deb/copyright diff --git a/scripts/resources/debian/install b/scripts/resources/deb/install similarity index 100% rename from scripts/resources/debian/install rename to scripts/resources/deb/install diff --git a/scripts/resources/debian/rules b/scripts/resources/deb/rules similarity index 100% rename from scripts/resources/debian/rules rename to scripts/resources/deb/rules diff --git a/scripts/resources/debian/source/format b/scripts/resources/deb/source/format similarity index 100% rename from scripts/resources/debian/source/format rename to scripts/resources/deb/source/format diff --git a/scripts/resources/debian/source/include-binaries b/scripts/resources/deb/source/include-binaries similarity index 100% rename from scripts/resources/debian/source/include-binaries rename to scripts/resources/deb/source/include-binaries diff --git a/scripts/resources/tachidesk-server-electron-launcher.sh b/scripts/resources/tachidesk-server-electron-launcher.sh index 02bcb379d7..f2c674524c 100644 --- a/scripts/resources/tachidesk-server-electron-launcher.sh +++ b/scripts/resources/tachidesk-server-electron-launcher.sh @@ -1,9 +1,9 @@ #!/bin/sh if [ ! -f /usr/bin/electron ]; then - echo "Electron executable was not found! + echo "Electron executable was not found! In order to run this launcher, you need Electron installed." - exit 1 + exit 1 fi exec /usr/bin/java \ diff --git a/scripts/unix-bundler.sh b/scripts/unix-bundler.sh deleted file mode 100755 index 35995e4824..0000000000 --- a/scripts/unix-bundler.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash - -# Copyright (C) Contributors to the Suwayomi project -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at https://mozilla.org/MPL/2.0/. - -electron_version="v14.0.0" - -arch="$1" -os="$(echo $arch | cut -d '-' -f1)" -if [ "$arch" = "linux-all" ]; then - continue -elif [ "$arch" = "linux-x64" ]; then - jre="OpenJDK8U-jre_x64_linux_hotspot_8u302b08.tar.gz" - jre_release="jdk8u302-b08" - jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/$jre_release/$jre" - jre_dir="$jre_release-jre" - electron="electron-$electron_version-linux-x64.zip" -elif [ "$arch" = "macOS-x64" ]; then - jre="OpenJDK8U-jre_x64_mac_hotspot_8u302b08.tar.gz" - jre_release="jdk8u302-b08" - jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/$jre_release/$jre" - jre_dir="$jre_release-jre" - electron="electron-$electron_version-darwin-x64.zip" -elif [ "$arch" = "macOS-arm64" ]; then - jre="zulu8.56.0.23-ca-jre8.0.302-macosx_aarch64.tar.gz" - jre_release="zulu8.56.0.23-ca-jre8.0.302-macosx_aarch64" - jre_url="https://cdn.azul.com/zulu/bin/$jre" - jre_dir="$jre_release/zulu-8.jre" - electron="electron-$electron_version-darwin-arm64.zip" -else - echo "Unsupported arch value: $arch" - exit 1 -fi - -echo "creating $arch bundle" -jar="$(ls ../server/build/*.jar | tail -n1)" -jar_name="$(echo $jar | cut -d'/' -f4)" -release_name="$(echo $jar_name | sed 's/.jar//')-$arch" -mkdir "$release_name" - -# download jre and electron -if [ "$arch" != "linux-all" ]; then - echo "Dealing with jre..." - if [ ! -f "$jre" ]; then - curl -L "$jre_url" -o "$jre" - fi - tar xvf "$jre" - mv "$jre_dir" "$release_name/jre" - - echo "Dealing with electron" - if [ ! -f "$electron" ]; then - curl -L "https://github.com/electron/electron/releases/download/$electron_version/$electron" -o "$electron" - fi - unzip "$electron" -d "$release_name/electron" -fi - -# copy artifacts -if [ "$os" = "linux" ]; then - cp "$jar" "$release_name/tachidesk-server.jar" - cp "resources/tachidesk-server-browser-launcher.sh" "$release_name" - cp "resources/tachidesk-server-debug-launcher.sh" "$release_name" - cp "resources/tachidesk-server-electron-launcher.sh" "$release_name" - cp "resources/tachidesk-server.desktop" "$release_name" - cp "../server/src/main/resources/icon/faviconlogo.png" "$release_name/tachidesk-server.png" - cp "resources/systemd"/* "$release_name" -elif [ "$os" = "macOS" ]; then - cp "$jar" "$release_name/Tachidesk.jar" - cp "resources/Tachidesk Browser Launcher.command" "$release_name" - cp "resources/Tachidesk Debug Launcher.command" "$release_name" - cp "resources/Tachidesk Electron Launcher.command" "$release_name" -fi - -# archive then compress -archive_name="" -if [ "$os" = "linux" ]; then - archive_name="$release_name.tar.gz" - GZIP=-9 tar cvzf "$archive_name" "$release_name" -elif [ "$os" = "macOS" ]; then - archive_name="$release_name.zip" - zip -9 -r "$archive_name" "$release_name" -fi - -# clean up from possible previous runs -if [ -f "../server/build/$archive_name" ]; then - rm "../server/build/$archive_name" -fi - -rm -rf "$release_name" -mv "$archive_name" "../server/build/" diff --git a/scripts/windows-bundler.sh b/scripts/windows-bundler.sh deleted file mode 100755 index ba46fe99c2..0000000000 --- a/scripts/windows-bundler.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash - -# Copyright (C) Contributors to the Suwayomi project -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at https://mozilla.org/MPL/2.0/. - -electron_version="v14.0.0" -arch=$1 -if [ $arch = "win32" ]; then - jre="OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip" - jre_release="jdk8u292-b10" - jre_url="https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/$jre_release/$jre" - arch="windows-x86" - electron="electron-$electron_version-win32-ia32.zip" -else - jre="OpenJDK8U-jre_x64_windows_hotspot_8u302b08.zip" - jre_release="jdk8u302-b08" - jre_url="https://github.com/adoptium/temurin8-binaries/releases/download/$jre_release/$jre" - arch="windows-x64" - electron="electron-$electron_version-win32-x64.zip" -fi - -jre_dir="$jre_release-jre" - -echo "creating windows bundle" - -jar=$(ls ../server/build/*.jar | tail -n1) -jar_name=$(echo $jar | cut -d'/' -f4) -release_name=$(echo $jar_name | sed 's/.jar//')-$arch - -# make release dir -mkdir $release_name - -echo "Dealing with jre..." -if [ ! -f $jre ]; then - curl -L $jre_url -o $jre -fi -unzip $jre -mv $jre_dir $release_name/jre - -echo "Dealing with electron" -if [ ! -f $electron ]; then - curl -L "https://github.com/electron/electron/releases/download/$electron_version/$electron" -o $electron -fi -unzip $electron -d $release_name/electron - -# change electron's icon -rcedit="rcedit-x86.exe" -if [ ! -f $rcedit ]; then - curl -L "https://github.com/electron/rcedit/releases/download/v1.1.1/$rcedit" -o $rcedit -fi - -# check if running under github actions -if [ $CI = true ]; then - # change electron executable's icon - sudo dpkg --add-architecture i386 - wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add - - sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport - sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu $(lsb_release -cs) main" - sudo apt install --install-recommends winehq-stable - sudo apt install -y wixl -fi -# this script assumes that wine is installed here on out - -WINEARCH=win32 wine $rcedit $release_name/electron/electron.exe --set-icon ../server/src/main/resources/icon/faviconlogo.ico - -# copy artifacts -cp $jar $release_name/Tachidesk.jar -cp "resources/Tachidesk Browser Launcher.bat" $release_name -cp "resources/Tachidesk Debug Launcher.bat" $release_name -cp "resources/Tachidesk Electron Launcher.bat" $release_name - -zip_name=$release_name.zip -zip -9 -r $zip_name $release_name - -# create msi package -msi_name=$release_name.msi -release_ver=$(tmp=${jar%-*} && echo ${tmp##*-} | tr -d v) -icon="../server/src/main/resources/icon/faviconlogo.ico" - -find $release_name/jre | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref jre --component-group jre >jre.wxs -find $release_name/electron | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref electron --component-group electron >electron.wxs -if [ $arch = "win32" ]; then - wixl -D ProductVersion=$release_ver -D SourceDir=$release_name -D Icon=$icon \ - --arch x86 resources/msi/tachidesk-server-x86.wxs jre.wxs electron.wxs -o $msi_name -else - wixl -D ProductVersion=$release_ver -D SourceDir=$release_name -D Icon=$icon \ - --arch x64 resources/msi/tachidesk-server-x64.wxs jre.wxs electron.wxs -o $msi_name -fi - -rm -rf $release_name - -# clean up from possible previous runs -if [ -f ../server/build/$zip_name ]; then - rm ../server/build/$zip_name -fi -if [ -f ../server/build/$msi_name ]; then - rm ../server/build/$msi_name -fi - -mv $zip_name ../server/build/ -mv $msi_name ../server/build/