42 lines
811 B
Bash
42 lines
811 B
Bash
![]() |
typeset -a chpwd_functions __chromaz_extra_left
|
||
|
|
||
|
SYSTEM_JAVA_HOME=${CS_FORMER_JAVA_HOME:-$JAVA_HOME}
|
||
|
|
||
|
local cs_jvm_id
|
||
|
local cs_java_home
|
||
|
|
||
|
remove-from-path() {
|
||
|
for elem in $@; do
|
||
|
path=("${(@)path:#$elem}")
|
||
|
done
|
||
|
}
|
||
|
|
||
|
cs-set-java-home() {
|
||
|
local dir=${1:-${PWD:a}}
|
||
|
if [[ $dir == / ]]; then
|
||
|
export JAVA_HOME=${SYSTEM_JAVA_HOME}
|
||
|
remove-from-path $cs_java_home/bin
|
||
|
cs_jvm_id=
|
||
|
return
|
||
|
fi
|
||
|
if [[ -e $dir/.jvm ]]; then
|
||
|
cs_jvm_id=$(<$dir/.jvm)
|
||
|
#echo "Setting Java version to ${cs_jvm_id}"
|
||
|
cs_java_home=$(cs java-home --jvm ${cs_jvm_id})
|
||
|
path=( $cs_java_home/bin $path )
|
||
|
export JAVA_HOME=${cs_java_home}
|
||
|
else
|
||
|
cs-set-java-home ${dir:h}
|
||
|
fi
|
||
|
|
||
|
#
|
||
|
}
|
||
|
|
||
|
cs-current-java() {
|
||
|
echo ${cs_jvm_id:+JVM: }${cs_jvm_id}
|
||
|
}
|
||
|
|
||
|
chpwd_functions+=cs-set-java-home
|
||
|
__chromaz_extra_left+=cs-current-java
|
||
|
cs-set-java-home
|