153 lines
6.9 KiB
Bash
Executable File
153 lines
6.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
SCRIPT_DIR=$(dirname "$0")
|
|
|
|
WORKSPACE=$(pwd)
|
|
|
|
mkdir -p "$SCRIPT_DIR/build"
|
|
|
|
echo "Got versions $REV"
|
|
|
|
if [ -z ${M2_DIRECTORY+x} ]; then
|
|
echo "m2 directory not specified, defaulting to $SCRIPT_DIR/m2"
|
|
M2_DIRECTORY="$SCRIPT_DIR/m2"
|
|
|
|
mkdir -p "$M2_DIRECTORY"
|
|
fi
|
|
|
|
IFS=',' read -r -a versions <<< "$REV"
|
|
|
|
for ver in "${versions[@]}"; do
|
|
if [[ "$ver" =~ ^1\.8(\.[1-9])?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.8.8" || echo "$BUILD_JAVA_8,1.8.8" )
|
|
elif [[ "$ver" =~ ^1\.9(\.[12])$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.9.2" || echo "$BUILD_JAVA_8,1.9.2" )
|
|
elif [[ "$ver" =~ ^1\.9\.[34]$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.9.4" || echo "$BUILD_JAVA_8,1.9.4" )
|
|
elif [[ "$ver" =~ ^1\.10(\.[12])?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.10.2" || echo "$BUILD_JAVA_8,1.10.2" )
|
|
elif [[ "$ver" =~ ^1\.11(\.[12])?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.11.2" || echo "$BUILD_JAVA_8,1.11.2" )
|
|
elif [[ "$ver" =~ ^1\.12(\.[12])?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.12.2" || echo "$BUILD_JAVA_8,1.12.2" )
|
|
elif [[ "$ver" =~ ^1\.13(\.[12])?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.13.2" || echo "$BUILD_JAVA_8,1.13.2" )
|
|
elif [[ "$ver" =~ ^1\.14(\.[1-4])?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.14.4" || echo "$BUILD_JAVA_8,1.14.4" )
|
|
elif [[ "$ver" =~ ^1\.15(\.[12])?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.15.2" || echo "$BUILD_JAVA_8,1.15.2" )
|
|
elif [[ "$ver" =~ ^1\.16(\.1)?$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.16.1" || echo "$BUILD_JAVA_8,1.16.1" )
|
|
elif [[ "$ver" =~ ^1\.16\.2$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.16.2" || echo "$BUILD_JAVA_8,1.16.2" )
|
|
elif [[ "$ver" =~ ^1\.16\.[34]$ ]]; then
|
|
BUILD_JAVA_8=$( [ -z ${BUILD_JAVA_8+x} ] && echo "1.16.4" || echo "$BUILD_JAVA_8,1.16.4" )
|
|
elif [[ "$ver" =~ ^1\.17(\.*)?$ ]]; then
|
|
>&2 echo "Spigot 1.17.x not supported due to java 14 CVEs"
|
|
elif [[ "$ver" =~ ^1\.18(\.1)?$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.18.1" || echo "$BUILD_JAVA_17,1.18.1" )
|
|
elif [[ "$ver" =~ ^1\.18\.2$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.18.2" || echo "$BUILD_JAVA_17,1.18.2" )
|
|
elif [[ "$ver" =~ ^1\.19(\.[12])?$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.19.2" || echo "$BUILD_JAVA_17,1.19.2" )
|
|
elif [[ "$ver" =~ ^1\.19\.3$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.19.3" || echo "$BUILD_JAVA_17,1.19.3" )
|
|
elif [[ "$ver" =~ ^1\.19\.4$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.19.4" || echo "$BUILD_JAVA_17,1.19.4" )
|
|
elif [[ "$ver" =~ ^1\.20(\.1)?$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.20.1" || echo "$BUILD_JAVA_17,1.20.1" )
|
|
elif [[ "$ver" =~ ^1\.20\.2$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.20.2" || echo "$BUILD_JAVA_17,1.20.2" )
|
|
elif [[ "$ver" =~ ^1\.20\.[34]$ ]]; then
|
|
BUILD_JAVA_17=$( [ -z ${BUILD_JAVA_17+x} ] && echo "1.20.4" || echo "$BUILD_JAVA_17,1.20.4" )
|
|
elif [[ "$ver" =~ ^1\.20\.*$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.20.6" || echo "$BUILD_JAVA_21,1.20.6" )
|
|
elif [[ "$ver" =~ ^1\.21(\.1)?$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.21.1" || echo "$BUILD_JAVA_21,1.21.1" )
|
|
elif [[ "$ver" =~ ^1\.21\.[23]$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.21.3" || echo "$BUILD_JAVA_21,1.21.3" )
|
|
elif [[ "$ver" =~ ^1\.21\.4$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.21.4" || echo "$BUILD_JAVA_21,1.21.4" )
|
|
elif [[ "$ver" =~ ^1\.21\.5$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.21.5" || echo "$BUILD_JAVA_21,1.21.5" )
|
|
elif [[ "$ver" =~ ^1\.21\.6$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.21.6" || echo "$BUILD_JAVA_21,1.21.6" )
|
|
elif [[ "$ver" =~ ^1\.21\.[78]$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.21.8" || echo "$BUILD_JAVA_21,1.21.8" )
|
|
elif [[ "$ver" =~ ^1\.21\.(9|10)$ ]]; then
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "1.21.10" || echo "$BUILD_JAVA_21,1.21.10" )
|
|
else
|
|
echo "Unknown version $ver, attempting to build with java 21"
|
|
BUILD_JAVA_21=$( [ -z ${BUILD_JAVA_21+x} ] && echo "$ver" || echo "$BUILD_JAVA_21,$ver" )
|
|
fi
|
|
done
|
|
|
|
if [ ! -z ${BUILD_JAVA_21+x} ]; then
|
|
if [ -z ${JAVA_VERSION+x} ]; then
|
|
JAVA_VERSION=21
|
|
echo "No java version specified, defaulting to 21"
|
|
fi
|
|
|
|
echo "Checking for java 21 spigot builds: $BUILD_JAVA_21"
|
|
|
|
docker run --rm \
|
|
--user $(id -u):$(id -g) \
|
|
-e MAVEN_CONFIG=/var/maven/.m2 \
|
|
-e M2_PATH=/var/maven/.m2 \
|
|
-e REV="$BUILD_JAVA_21" \
|
|
--volume "$SCRIPT_DIR/build:/build" \
|
|
--volume "$M2_DIRECTORY:/var/maven/.m2" \
|
|
--volume "$SCRIPT_DIR/scripts:/scripts" \
|
|
-- docker.io/maven:3.9.11-eclipse-temurin-21 /scripts/install-spigot.sh
|
|
fi
|
|
|
|
|
|
if [ ! -z ${BUILD_JAVA_17+x} ]; then
|
|
if [ -z ${JAVA_VERSION+x} ]; then
|
|
JAVA_VERSION=17
|
|
echo "No java version specified, defaulting to 17"
|
|
fi
|
|
|
|
echo "Checking for java 17 spigot builds: $BUILD_JAVA_17"
|
|
docker run --rm \
|
|
--user $(id -u):$(id -g) \
|
|
-e MAVEN_CONFIG=/var/maven/.m2 \
|
|
-e M2_PATH=/var/maven/.m2 \
|
|
-e REV="$BUILD_JAVA_17" \
|
|
--volume "$SCRIPT_DIR/build:/build" \
|
|
--volume "$M2_DIRECTORY:/var/maven/.m2" \
|
|
--volume "$SCRIPT_DIR/scripts:/scripts" \
|
|
-- docker.io/maven:3.9.11-eclipse-temurin-17 /scripts/install-spigot.sh
|
|
fi
|
|
|
|
if [ ! -z ${BUILD_JAVA_8+x} ]; then
|
|
if [ -z ${JAVA_VERSION+x} ]; then
|
|
JAVA_VERSION=8
|
|
echo "No java version specified, defaulting to 8"
|
|
fi
|
|
|
|
echo "Checking for java 8 spigot builds: $BUILD_JAVA_8"
|
|
|
|
docker run --rm \
|
|
--user $(id -u):$(id -g) \
|
|
-e MAVEN_CONFIG=/var/maven/.m2 \
|
|
-e M2_PATH=/var/maven/.m2 \
|
|
-e REV="$BUILD_JAVA_8" \
|
|
--volume "$SCRIPT_DIR/build:/build" \
|
|
--volume "$M2_DIRECTORY:/var/maven/.m2" \
|
|
--volume "$SCRIPT_DIR/scripts:/scripts" \
|
|
-- docker.io/maven:3.9.11-eclipse-temurin-8 /scripts/install-spigot.sh
|
|
fi
|
|
|
|
echo "Mounting m2 from $M2_DIRECTORY"
|
|
echo "Using java version ${JAVA_VERSION:-21}"
|
|
|
|
docker run --rm -it \
|
|
--user $(id -u):$(id -g) \
|
|
-e MAVEN_CONFIG=/var/maven/.m2 \
|
|
-e M2_PATH=/var/maven/.m2 \
|
|
--volume "$SCRIPT_DIR/build:/build" \
|
|
--volume "$WORKSPACE:/workspace" \
|
|
--volume "$M2_DIRECTORY:/var/maven/.m2" \
|
|
--volume "$SCRIPT_DIR/scripts:/scripts" \
|
|
-- docker.io/maven:3.9.11-eclipse-temurin-${JAVA_VERSION:-21} /scripts/initialize.sh "$@" |