#!/bin/bash set -exo pipefail function main() { #upgradeSystem apt-get update && apt-get -qqy upgrade apt-get -qqy install curl git build-essential libz-dev zlib1g-dev #change to main branch for production #change to MEapp-development branch for development git clone --single-branch --branch main 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 #graalvm-community-jdk, v22.0.1 2024-04-16 graalvm_jdk_version="22.0.1" curl -SsLo /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-22.0.1/graalvm-community-jdk-22.0.1_linux-x64_bin.tar.gz curl -SsLo /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256 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 graalvm_inst #nativeCompile buildproc #cleanupDocker rm -f /root/.ssh/authorized_keys rm -f /root/.ssh/authorized_keys2 apt-get clean apt-get -qqy autoremove --purge apt-get -qqy autoclean rm -rf /var/lib/apt/lists/ rm -rf /tmp/* find /var/cache -type f -exec rm -rf {} \; find /var/log/ -name '*.log' -exec rm -f {} \; } > /dev/null function checksum() { #graalvm echo " /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz"|tee -a /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256 sha256sum -c --status /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256 } function graalvm_inst(){ mkdir /usr/lib/jvm/ tar -C /usr/lib/jvm/ -xzf /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz dirname_graalvm=$(ls /usr/lib/jvm/|grep -e graa) mkdir /usr/lib/jvm/graalvm/ ln -s /usr/lib/jvm/$dirname_graalvm/bin/ /usr/lib/jvm/graalvm/ update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm/bin/java 0 echo "export PATH=$PATH:/usr/lib/jvm/graalvm/bin"| tee -a ~/.bashrc } function buildproc() { cd /usr/local/src/ModeratorElection/ #build graalvm binary ./gradlew nativeCompile -Dvaadin.productionMode=true -x processTestAot } #source /tmp/install_functions_debian.sh DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes main