11#! /bin/bash
22
33# Java JRE version tester
4- # tofi86 @ 2017-10-30
4+ # tofi86 @ 2017-10-31
55
66
77
@@ -40,9 +40,9 @@ function extract_java_major_version() {
4040# ###############################################################################
4141function get_comparable_java_version() {
4242 # cleaning: 1) remove leading '1.'; 2) remove 'a-Z' and '-*+' (e.g. '-ea'); 3) replace '_' with '.'
43- cleaned=$( echo " $1 " | sed -E ' s/^1\.//g;s/[a-zA-Z+*\-]//g;s/_/./g' )
43+ local cleaned=$( echo " $1 " | sed -E ' s/^1\.//g;s/[a-zA-Z+*\-]//g;s/_/./g' )
4444 # splitting at '.' into an array
45- arr=( ${cleaned// ./ } )
45+ local arr=( ${cleaned// ./ } )
4646 # echo a string with left padded version numbers
4747 echo " $( printf ' %02s' ${arr[0]} ) $( printf ' %03s' ${arr[1]} ) $( printf ' %03s' ${arr[2]} ) "
4848}
@@ -58,8 +58,8 @@ function get_comparable_java_version() {
5858# @return an exit code: 0 (satiesfies), 1 (does not), 2 (error)
5959# ###############################################################################
6060function does_java_version_satisfy_requirement() {
61- java_ver=$1
62- java_req=$2
61+ local java_ver=$1
62+ local java_req=$2
6363
6464 # matches requirements with * modifier
6565 # e.g. 1.8*, 9*, 9.1*, 9.2.4*, 10*, 10.1*, 10.1.35*
@@ -75,8 +75,8 @@ function does_java_version_satisfy_requirement() {
7575 # matches requirements with + modifier
7676 # e.g. 1.8+, 9+, 9.1+, 9.2.4+, 10+, 10.1+, 10.1.35+
7777 elif [[ ${java_req} =~ ^[0-9]+ (\. [0-9]+)* \+ $ ]] ; then
78- java_req_num=$( get_comparable_java_version ${java_req} )
79- java_ver_num=$( get_comparable_java_version ${java_ver} )
78+ local java_req_num=$( get_comparable_java_version ${java_req} )
79+ local java_ver_num=$( get_comparable_java_version ${java_ver} )
8080 if [ ${java_ver_num} -ge ${java_req_num} ] ; then
8181 return 0
8282 else
@@ -107,9 +107,9 @@ function does_java_version_satisfy_requirement() {
107107# tests the extract_java_major_version() function
108108# #########################################################
109109function testExtractMajor() {
110- java_version=$1
111- expected_major=$2
112- actual_major=$( extract_java_major_version " $java_version " )
110+ local java_version=$1
111+ local expected_major=$2
112+ local actual_major=$( extract_java_major_version " $java_version " )
113113 if [ ${expected_major} == ${actual_major} ] ; then
114114 echo " [TEST OK] Extracted Java major version '${actual_major} ' for Java '${java_version} '"
115115 else
@@ -172,9 +172,9 @@ testExtractMajor "10.100.120+" "10"
172172# tests the get_comparable_java_version() function
173173# #########################################################
174174function testComparable() {
175- version=$1
176- expected=$2
177- actual=$( get_comparable_java_version $version )
175+ local version=$1
176+ local expected=$2
177+ local actual=$( get_comparable_java_version $version )
178178 if [ " $actual " == " $expected " ] ; then
179179 echo " [TEST OK] Version number '$version ' has comparable form '$actual ' (matches expected result '$expected ')"
180180 else
@@ -236,10 +236,10 @@ testComparable "10.10.113" "10010113"
236236# tests the does_java_version_satisfy_requirement() function
237237# #########################################################
238238function testSatisfies() {
239- java_version=$1
240- java_requirement=$2
241- expected_result=$3
242- actual_result=$( does_java_version_satisfy_requirement $java_version $java_requirement ; echo $? )
239+ local java_version=$1
240+ local java_requirement=$2
241+ local expected_result=$3
242+ local actual_result=$( does_java_version_satisfy_requirement $java_version $java_requirement ; echo $? )
243243 if [ ${expected_result} == ${actual_result} ] ; then
244244 case $expected_result in
245245 0)
0 commit comments