Fix version number extraction for all cases 14/14114/1
authorAnil Belur <abelur@linuxfoundation.org>
Thu, 10 Jan 2019 01:03:11 +0000 (11:03 +1000)
committerAnil Belur <abelur@linuxfoundation.org>
Thu, 10 Jan 2019 01:16:14 +0000 (11:16 +1000)
When the jobs upgrade to a later version of Java passing
"openjdk11" or "openjdk10" the string substitution would only
return the last char which would potentially fail to pick up
the correct version of Java.

This change fixes this issue to handle all cases.

Change-Id: If81100bbdd116ee071c3ecdeeadc0a3016fa2a15
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
shell/update-java-alternatives.sh

index 2214790..a53cc0a 100644 (file)
 JAVA_ENV_FILE="/tmp/java.env"
 
 update-java-redhat() {
-    if [[ "${SET_JDK_VERSION: -2}" = "11" ]]; then
+    if [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "11" ]]; then
         export JAVA_HOME="/opt/jdk-11"
-    elif [[ "${SET_JDK_VERSION: -2}" = "10" ]]; then
+    elif [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "10" ]]; then
         export JAVA_HOME="/opt/jdk-10.0.2"
     else
-        export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION: -1}.0-openjdk"
+        export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION//[a-zA-Z]/}.0-openjdk"
     fi
     sudo /usr/sbin/alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1
     sudo /usr/sbin/alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1