#!/bin/bash set -exo pipefail function main() { upgradeSystem #openjdk-17-jdk-headless, no need, we are installing graalvm apt-get -qqy install git curl unzip mkdir /usr/local/src/ModeratorElection #change to main branch for production git clone --single-branch --branch MEapp-development https://repo.prod.meissa.de/meissa/ModeratorElection.git /usr/local/src/ModeratorElection #download gradle #gradle_version="8.4" #curl -SsLo /tmp/gradle-${gradle_version}-bin.zip https://services.gradle.org/distributions/gradle-${gradle_version}-bin.zip #curl -SsLo /tmp/gradle-${gradle_version}-bin.zip.sha256 https://services.gradle.org/distributions/gradle-${gradle_version}-bin.zip.sha256 #download graalvm #oracle graalvm-jdk, v17.0.11, 2024-06-14 graalvm_JDK_version="17" curl -SsLo /tmp/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz https://download.oracle.com/graalvm/${graalvm_JDK_version}/latest/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz curl -SsLo /tmp/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz.sha256 https://download.oracle.com/graalvm/${graalvm_JDK_version}/latest/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz.sha256 #graalvm-community-jdk, v17.0.8, 2023-07-25 #graalvm_jdk_version="17.0.8" #curl -SsLo /tmp/graalvm-community-jdk.tar.gz https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${graalvm_jdk_version}/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz #curl -SsLo /tmp/graalvm-checksum https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${graalvm_jdk_version}/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256 #checksum graalvm checksum #install graalvm mkdir /usr/lib/jvm/ tar -C /usr/lib/jvm/ -xzf /tmp/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz dirname_graalvm=$(ls /usr/lib/jvm/|grep -e graa) ln -s /usr/lib/jvm/$dirname_graalvm /usr/lib/jvm/graalvm ln -s /usr/lib/jvm/graalvm/bin/gu /usr/local/bin update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm/bin/java 0 echo "export PATH=$PATH:/usr/lib/jvm/$dirname_graalvm/lib/svm/bin"|tee -a /root/.bashrc #possibility to install js, node.js,... to graalvm using "gu" #"gu available" shows available components, native-image is one part of it echo "export PATH=$PATH:/usr/lib/jvm/graalvm-jdk-17.0.11+7.1/lib/installer/bin/gu"|tee -a /root/.bashrc /usr/lib/jvm/$dirname_graalvm/lib/svm/bin/native-image --version #install -m 0700 /tmp/entrypoint-start-and-wait.sh / #install -m 0700 /tmp/init.sh /usr/local/bin/ #install -m 0700 /tmp/backup.sh /usr/local/bin/ #install -m 0700 /tmp/restore.sh /usr/local/bin/ #install -m 0700 /tmp/restic-snapshots.sh /usr/local/bin/ #cleanupDocker } #> /dev/null function checksum() { #graalvm echo " /tmp/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz"|tee -a /tmp/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz.sha256 sha256sum -c --status /tmp/graalvm-jdk-${graalvm_JDK_version}_linux-x64_bin.tar.gz.sha256 } source /tmp/install_functions_debian.sh DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes main #cd /usr/local/src/ModeratorElection #npm install -g npm@latest #npm audit fix #npm ci --omit=dev #./gradlew build cd /usr/local/src/ModeratorElection/ ./gradlew clean build -Pvaadin.productionMode -x processTestAot