mirror of
https://github.com/sdkman/sdkman-cli.git
synced 2026-05-23 16:08:09 -04:00
fix: address review feedback
- Use $SDKMAN_DIR instead of hardcoded ~/.sdkman in network warning - Add hint to open a new terminal after changing config - Restore offline list fallback for 'sdk list <candidate>' when internet is unreachable (renamed to __sdkman_installed_versions) - Restore offline list test scenarios in service_unavailable.feature
This commit is contained in:
@@ -48,10 +48,12 @@ function __sdkman_display_network_warning() {
|
||||
__sdkman_echo_red "==== INTERNET NOT REACHABLE! ==================================================="
|
||||
__sdkman_echo_red ""
|
||||
__sdkman_echo_red " Some functionality is disabled or only partially available."
|
||||
__sdkman_echo_red " If this persists, disable the healthcheck in ~/.sdkman/etc/config:"
|
||||
__sdkman_echo_red " If this persists, disable the healthcheck in ${SDKMAN_DIR}/etc/config:"
|
||||
__sdkman_echo_red ""
|
||||
__sdkman_echo_red " sdkman_healthcheck_enable=false"
|
||||
__sdkman_echo_red ""
|
||||
__sdkman_echo_red " Then open a new terminal for the change to take effect."
|
||||
__sdkman_echo_red ""
|
||||
__sdkman_echo_red "================================================================================"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
@@ -42,12 +42,43 @@ function __sdkman_list_versions() {
|
||||
__sdkman_determine_current_version "$candidate"
|
||||
|
||||
if [[ "$SDKMAN_AVAILABLE" == "false" ]]; then
|
||||
__sdkman_echo_red "This command is not available. Internet unreachable."
|
||||
__sdkman_installed_versions "$candidate" "$versions_csv"
|
||||
else
|
||||
__sdkman_echo_paged "$(__sdkman_secure_curl "${SDKMAN_CANDIDATES_API}/candidates/${candidate}/${SDKMAN_PLATFORM}/versions/list?current=${CURRENT}&installed=${versions_csv}")"
|
||||
fi
|
||||
}
|
||||
|
||||
function __sdkman_installed_versions() {
|
||||
local candidate versions_csv
|
||||
|
||||
candidate="$1"
|
||||
versions_csv="$2"
|
||||
|
||||
__sdkman_echo_no_colour "--------------------------------------------------------------------------------"
|
||||
__sdkman_echo_yellow "Offline: only showing installed ${candidate} versions"
|
||||
__sdkman_echo_no_colour "--------------------------------------------------------------------------------"
|
||||
|
||||
local versions=($(echo ${versions_csv//,/ }))
|
||||
for ((i = ${#versions} - 1; i >= 0; i--)); do
|
||||
if [[ -n "${versions[${i}]}" ]]; then
|
||||
if [[ "${versions[${i}]}" == "$CURRENT" ]]; then
|
||||
__sdkman_echo_no_colour " > ${versions[${i}]}"
|
||||
else
|
||||
__sdkman_echo_no_colour " * ${versions[${i}]}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -z "${versions[@]}" ]]; then
|
||||
__sdkman_echo_yellow " None installed!"
|
||||
fi
|
||||
|
||||
__sdkman_echo_no_colour "--------------------------------------------------------------------------------"
|
||||
__sdkman_echo_no_colour "* - installed "
|
||||
__sdkman_echo_no_colour "> - currently in use "
|
||||
__sdkman_echo_no_colour "--------------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
function __sdkman_build_version_csv() {
|
||||
local candidate versions_csv
|
||||
|
||||
|
||||
@@ -11,7 +11,15 @@ Feature: Service Unavailable
|
||||
And the candidate "grails" version "1.3.9" is already installed but not default
|
||||
And the system is bootstrapped
|
||||
When I enter "sdk list grails"
|
||||
Then I see "This command is not available. Internet unreachable."
|
||||
Then I see "Offline: only showing installed grails versions"
|
||||
And I see "> 2.1.0"
|
||||
And I see "* 1.3.9"
|
||||
|
||||
Scenario: List candidate versions not found while internet unreachable
|
||||
Given the system is bootstrapped
|
||||
When I enter "sdk list grails"
|
||||
Then I see "Offline: only showing installed grails versions"
|
||||
And I see "None installed!"
|
||||
|
||||
Scenario: List Available Candidates while internet unreachable
|
||||
Given the system is bootstrapped
|
||||
|
||||
Reference in New Issue
Block a user