mirror of https://github.com/jenv/jenv.git
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
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
|
|
|