Skip to content

Commit

Permalink
Merge pull request #13 from caarlos0/3
Browse files Browse the repository at this point in the history
dont change current path if previous java_home is empty
  • Loading branch information
caarlos0 committed Feb 17, 2015
2 parents 95bfd4f + 6745936 commit 672b217
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions jvm.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
#!/bin/sh

_set-java-path() {
_jvm_set-java-path() {
local version="$1"
local previous_java_home="$JAVA_HOME"
if [ -d "/usr/lib/jvm/java-${version}-oracle/" ]; then
local new_java_home="/usr/lib/jvm/java-${version}-oracle/"
elif [ -e /usr/libexec/java_home ]; then
local new_java_home="$(/usr/libexec/java_home -v 1."$version")"
fi
if [ "$previous_java_home" != "$new_java_home" ]; then
export JAVA_HOME="$new_java_home"
if [ "$previous_java_home" != "" ] &&
[ "$previous_java_home" != "$new_java_home" ]; then
export PATH="$(echo "$PATH" | sed -e 's|'"$previous_java_home"'/bin:||g')"
export PATH="${JAVA_HOME}/bin:$PATH"
fi
export JAVA_HOME="$new_java_home"
export PATH="${JAVA_HOME}/bin:$PATH"
}

_discover-and-set() {
_jvm-discover-and-set() {
if [ -f pom.xml ]; then
local version="$(\
grep '<java.version>' pom.xml | \
Expand All @@ -25,13 +26,13 @@ _discover-and-set() {
if [ -z "$version" ] && [ -f .java-version ]; then
local version="$(cat .java-version)"
fi
_set-java-path "$version"
_jvm_set-java-path "$version"
}

if [ ! -z "$BASH" ]; then
PROMPT_COMMAND=_discover-and-set
PROMPT_COMMAND=_jvm-discover-and-set
elif [ ! -z "$ZSH_NAME" ]; then
chpwd() {
_discover-and-set
_jvm-discover-and-set
}
fi

0 comments on commit 672b217

Please sign in to comment.