Manage your Java environment
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

67 lines
1.3 KiB

#!/usr/bin/env bash
# Summary: List all Java versions available to jenv
# Usage: jenv versions [--bare] [--verbose]
#
# Lists all Java versions found in `$JENV_ROOT/versions/*'.
set -e
[ -n "$JENV_DEBUG" ] && set -x
verbose=false
if [ "$1" = "--bare" ]; then
hit_prefix=""
miss_prefix=""
current_version=""
include_system=""
else
hit_prefix="* "
miss_prefix=" "
current_version="$(jenv-version-name || true)"
include_system="1"
fi
if [ "$1" = "--verbose" ]; then
verbose=true
fi
resolvepath() {
local cwd="$(pwd)"
cd "$1"
echo "$(pwd -P)"
cd "$cwd"
}
print_version() {
if [ "$1" == "$current_version" ]; then
echo "${hit_prefix}$(jenv-version 2>/dev/null)"
if $verbose ; then
local realPath="$(resolvepath "$2")"
echo " $2"
echo " --> $realPath"
echo ""
fi
else
echo "${miss_prefix}$1"
if $verbose ; then
local realPath="$(resolvepath "$2")"
echo " $2"
echo " --> $realPath"
echo ""
fi
fi
}
# Include "system" in the non-bare output, if it exists
if [ -n "$include_system" ] && JENV_VERSION=system jenv-which java >/dev/null 2>&1; then
print_version system
fi
for path in "${JENV_ROOT}/versions/"*; do
if [ -d "$path" ]; then
#print_version "${path##*/}"
print_version "${path##*/}" "$path"
fi
done