#!/bin/bash . ${SCRIPTS:-/}start-utils set -e function buildSpigotFromSource { if [[ ${TYPE^^} = *BUKKIT ]] && ! versionLessThan "1.14"; then log "ERR craftbukkit build is only supported for versions less than 1.14" exit 1 fi log "Building Spigot $VANILLA_VERSION from source, might take a while, get some coffee" rm -rf /data/temp mkdir /data/temp cd /data/temp jvmOpts="-Xms${INIT_MEMORY:-$MEMORY} -Xmx${MAX_MEMORY:-$MEMORY}" logn '' curl -sSL -o /data/temp/BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar && \ java $jvmOpts -jar /data/temp/BuildTools.jar --rev $VANILLA_VERSION 2>&1 |tee /data/spigot_build.log| while read l; do echo -n .; done; log "done" case ${TYPE^^} in SPIGOT) if ! mv spigot-*.jar /data/${SERVER}; then log "ERR failed to build Spigot" cat /data/spigot_build.log exit 1 fi ;; *BUKKIT) if ! mv craftbukkit-*.jar /data/${SERVER}; then log "ERR failed to build Spigot" cat /data/spigot_build.log exit 1 fi ;; esac log "Cleaning up" rm -rf /data/temp cd /data } function downloadSpigot { local match case "$TYPE" in *BUKKIT|*bukkit) match="CraftBukkit" downloadUrl=${BUKKIT_DOWNLOAD_URL} getbukkitFlavor=craftbukkit ;; *) match="Spigot" downloadUrl=${SPIGOT_DOWNLOAD_URL} getbukkitFlavor=spigot ;; esac if [[ ${VERSION^^} = LATEST ]]; then VANILLA_VERSION=$(restify https://getbukkit.org/download/spigot --attribute='property=og:title' | jq -r '.[0] | .attributes | select(.property == "og:title") | .content | split(" ") | .[-1]') fi if [[ -z $downloadUrl ]]; then downloadUrl="https://cdn.getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${VANILLA_VERSION}.jar" fi if [ -f $SERVER ]; then # tell curl to only download when newer zarg="-z $SERVER" fi log "Downloading $match from $downloadUrl ..." curl -fsSL -o $SERVER $zarg "$downloadUrl" if [[ $? != 0 || $(grep -c "DOCTYPE html" $SERVER) != 0 ]]; then cat <