Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 55 additions & 41 deletions modules/java.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash


#####################################
# Install the latest EV3 JRI bundle
function java_install_bundle() {
if [ -d "$JRI_PATH_NEW" ]; then
echo "Sorry, we detected a previous installation in path: /opt/jri-10-build-050"
Expand All @@ -24,6 +25,9 @@ function java_install_bundle() {
JAVA_REAL_EXE="$JRI_EXE"
}


########################################
# Install the latest Debian armhf java
function java_install_ppa() {
###
# Add Debian Buster repo to Stretch
Expand Down Expand Up @@ -53,54 +57,64 @@ EOF
JAVA_REAL_EXE="$(which java)"
}

#1. Detect Java
#1.1 Install Java
#1.2 Create JAVA_HOME PENDING
###########################################
# Install Java by a platform specific way
function java_just_install() {
if [ "$PLATFORM" == "ev3" ]; then
java_install_bundle
elif [ "$PLATFORM" == "brickpi" ] ||
[ "$PLATFORM" == "brickpi3" ] ||
[ "$PLATFORM" == "pistorms" ]; then
java_install_ppa
fi
}

if type -p java; then
echo "Found java executable in PATH"
JAVA_REAL_EXE="$(which java)"
#####################################
# Locate existing Java installation
function java_find() {
if type -p java; then
echo "Found java executable in PATH"
JAVA_REAL_EXE="$(which java)"

elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
echo "Found java executable in JAVA_HOME"
JAVA_REAL_EXE="$JAVA_HOME/bin/java"

if [ ! -d "$JRI_OPT/jri-10-build-050" ]; then
echo "But we will upgrade the Java version"
echo $JRI_OPT/jri-10-build-050
echo
if [ "$PLATFORM" == "ev3" ]; then
java_install_bundle
elif [ "$PLATFORM" == "brickpi" ] ||
[ "$PLATFORM" == "brickpi3" ] ||
[ "$PLATFORM" == "pistorms" ]; then
java_install_ppa
fi
else
echo "Latest Java installed."
echo $JRI_OPT/jri-10-build-050
echo "No java detected"
JAVA_REAL_EXE="/bin/true"
fi
}

elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
echo "Found java executable in JAVA_HOME"
JAVA_REAL_EXE="$JAVA_HOME/bin/java"
############################################################
# Check if the right Java is installed, if not, install it
function java_install() {
JAVA_VERSION_RAW="$("$JAVA_REAL_EXE" -version 2>&1)"
JAVA_VERSION="$(echo "$JAVA_VERSION_RAW" | awk -F '"' '/version/ {print $2}')"
JAVA_VERSION_LATEST="${JAVA_LATEST[$PLATFORM]}"

echo $JRI_OPT/jri-10-build-050
if [ ! -d "$JRI_OPT/jri-10-build-050" ]; then
echo "But upgrading Java version"
echo
echo "Installed Java version: '${JAVA_VERSION}'"

if [ "$JAVA_VERSION" != "$JAVA_VERSION_LATEST" ]; then
echo "Installing latest Java version ($JAVA_VERSION_LATEST)..."
java_just_install
else
echo "Latest major Java version is installed."
fi
}

else
echo "No java detected"
#############################
# Perform maintenance tasks
function java_postinstall() {
update-alternatives --set "/usr/bin/java" "$JAVA_REAL_EXE"

if [ "$PLATFORM" == "ev3" ]; then
java_install_bundle
elif [ "$PLATFORM" == "brickpi" ] ||
[ "$PLATFORM" == "brickpi3" ] ||
[ "$PLATFORM" == "pistorms" ]; then
java_install_ppa
fi
fi
echo "Output of 'java -version':"
"$JAVA_REAL_EXE" -version

echo "Installation complete. Java version:"
"$JAVA_REAL_EXE" -version
echo "Dumping class cache..."
"$JAVA_REAL_EXE" -Xshare:dump
}

echo "Dumping class cache..."
"$JAVA_REAL_EXE" -Xshare:dump
java_find
java_install
java_postinstall
6 changes: 6 additions & 0 deletions modules/vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ JDEB_REPO="deb http://ftp.debian.org/debian buster main contrib non-free"
JDEB_PKG="openjdk-10-jre-headless"
JDEB_TMP_LINK="/usr/lib/jvm/java-10-openjdk-armhf/bin/java"

declare -A JAVA_LATEST
JAVA_LATEST[ev3]="10"
JAVA_LATEST[brickpi]="10"
JAVA_LATEST[brickpi3]="10"
JAVA_LATEST[pistorms]="10"

# graphics
CHARACTER="#"
SPACE=" "
Expand Down