@@ -55,29 +55,35 @@ prepare_jdks::load_sdkman() {
5555 fi
5656}
5757
58+ prepare_jdks::_sdkman_ls_java_content () {
59+ [ -n " ${_PREPARE_JDKS_SDKMAN_LS_JAVA_CONTENT:- } " ] && echo " $_PREPARE_JDKS_SDKMAN_LS_JAVA_CONTENT "
60+
61+ _PREPARE_JDKS_SDKMAN_LS_JAVA_CONTENT=$(
62+ cu::loose_run sdk ls java | sed -n ' /^ Vendor/,/^===========/p'
63+ )
64+ echo " $_PREPARE_JDKS_SDKMAN_LS_JAVA_CONTENT "
65+ }
66+
5867prepare_jdks::ls_java () {
5968 prepare_jdks::load_sdkman
6069
61- cu::loose_run cu::log_then_run sdk ls java | sed -n ' /^ Vendor/,/^===========/p'
70+ cu::blue_echo " sdk ls java:"
71+ prepare_jdks::_sdkman_ls_java_content
6272}
6373
6474prepare_jdks::_set_available_jdk_versions_of_sdkman () {
6575 prepare_jdks::load_sdkman
6676
67- local sdk_ls_output
68- sdk_ls_output=$( cu::loose_run sdk ls java | sed -rn ' /^-----------/,/^==========/p' )
69-
70- local line
71-
7277 # Prefer mapfile or read -a to split command output (or quote to avoid splitting).
7378 # https://github.com/koalaman/shellcheck/wiki/SC2207
7479 #
7580 # outputs multiple lines, each of which should be an element
7681 PREPARE_JDKS_AVAILABLE_JDK_VERSIONS_OF_SDKMAN=()
82+ local line
7783 while IFS=' ' read -r line; do
7884 PREPARE_JDKS_AVAILABLE_JDK_VERSIONS_OF_SDKMAN+=(" $line " )
7985 done < <(
80- echo " $sdk_ls_output " |
86+ prepare_jdks::_sdkman_ls_java_content |
8187 awk -F' [ \\t]*\\|[ \\t]*' ' /\|/ {print $NF}' |
8288 sort -V
8389 )
@@ -86,7 +92,7 @@ prepare_jdks::_set_available_jdk_versions_of_sdkman() {
8692 while IFS=' ' read -r line; do
8793 PREPARE_JDKS_AVAILABLE_REMOTE_JDK_VERSIONS_OF_SDKMAN+=(" $line " )
8894 done < <(
89- echo " $sdk_ls_output " |
95+ prepare_jdks::_sdkman_ls_java_content |
9096 awk -F' [ \\t]*\\|[ \\t]*' ' /\|/ && $5 !~ /^local/ {print $NF}' |
9197 sort -V
9298 )
0 commit comments