2020-12-08 16:24:21 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Created by l1ving on 17/02/20
|
|
|
|
#
|
|
|
|
# ONLY USED IN AUTOMATED BUILDS
|
|
|
|
#
|
|
|
|
# Usage: "./buildJarSafe.sh"
|
|
|
|
|
|
|
|
__d="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
source ~/.profile
|
|
|
|
source "$__d/utils.sh"
|
|
|
|
|
|
|
|
check_var "JDK_11_HOME" "$JDK_11_HOME" || exit $?
|
|
|
|
check_var "JDK_8_HOME" "$JDK_8_HOME" || exit $?
|
|
|
|
|
|
|
|
if [ -z "$KAMI_DIR" ]; then
|
|
|
|
echo "[buildJarSafe] Environment variable KAMI_DIR is not set, exiting." >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
cd "$KAMI_DIR" || exit $?
|
|
|
|
|
|
|
|
rm -rf build/libs/ || {
|
|
|
|
echo "[buildJarSafe] Failed to remove 'build/libs/', exiting." >&2
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
export JAVA_HOME="$JDK_8_HOME"
|
|
|
|
sudo archlinux-java set java-8-openjdk || exit $?
|
|
|
|
chmod +x gradlew
|
|
|
|
./gradlew --no-daemon build &>/dev/null || {
|
|
|
|
echo "[buildJarSafe] Gradle build failed, exiting." >&2
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
cd build/libs/ || exit $?
|
|
|
|
|
|
|
|
__named="$(find . -maxdepth 1 -name "*.jar" | head -n 1 | sed "s/^\.\///g")"
|
|
|
|
# shellcheck disable=SC2001
|
|
|
|
__bad_named="$(echo "$__named" | sed "s/\.jar$/-release.jar/g")"
|
|
|
|
|
|
|
|
mv "$__named" "$__bad_named" # rename it to include release
|
|
|
|
|
|
|
|
# Build release jar with the name without -release
|
|
|
|
export JAVA_HOME="$JDK_11_HOME"
|
|
|
|
sudo archlinux-java set java-11-openjdk || exit $?
|
2021-01-05 16:22:44 +00:00
|
|
|
java -jar "$__d/jar-shrink/jar-shrink.jar" "$__bad_named" -out "$__named" -n -keep "me.zeroeightsix" -keep "baritone" -keep "org.kamiblue" -keep "org.spongepowered"
|
2020-12-08 16:24:21 +00:00
|
|
|
|
|
|
|
rm "$__bad_named" # remove the un-shrunk jar with -release
|
|
|
|
|
|
|
|
echo "$__named" # echo the shrunk jar, without -release
|