Files
Tachidesk/scripts/unix-bundler.sh
Mahor 7195a30d55 Add linux-all.tar.gz & systemd service (#366)
* Update my email address

* Add systemd configs to debian package

* Add systemd configs

* Tidy up

* Add linux-all.tar.gz

* Rename Tachidesk.jar to tachidesk-server.jar

* Fix typo

* Fix typo
2022-06-16 17:58:31 +04:30

93 lines
3.1 KiB
Bash
Executable File

#!/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/"