############################
+function whichable()
+{
+ to_find="$1"; shift
+ which which &>/dev/null
+ if [ $? -ne 0 ]; then
+ # there is no which command here. we produce nothing due to this.
+ echo
+ fi
+ echo $(which $to_find)
+}
+
+# this reports when we have totally failed to figure out where a folder
+# is actually located on the machine.
function intuition_failure()
{
missing="$1"; shift
- echo "We cannot intuit your $missing variable for this host."
+ if [ ! -z "$SHELL_DEBUG" ]; then
+ echo "Could not intuit '$missing' variable."
+ fi
# remove the variable because its value is busted.
unset $missing
}
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre
fi
if [ ! -d "$JAVA_HOME" ]; then
- # try using a windows version.
-#note: this logic is untested.
-# probably will break due to space in path issues.
- declare -a any_there=$(find "/c/Program Files/java" -type d -iname "jdk" 2>/dev/null)
- if [ ${#any_there[*]} -gt 0 ]; then
- (( last = ${#any_there[@]} - 1 ))
- JAVA_HOME="${any_there[$last]}"
- fi
- if [ ! -d "$JAVA_HOME" ]; then
- # if no jdk, try a jre.
- declare -a any_there=$(find "/c/Program Files/java" -type d -iname "jre" 2>/dev/null)
- if [ ${#any_there[*]} -gt 0 ]; then
- (( last = ${#any_there[@]} - 1 ))
- JAVA_HOME="${any_there[$last]}"
- fi
+ if [ ! -z "$(grep 'd:' /proc/mounts)" ]; then
+ # try using a windows version.
+ JAVA_HOME="d:/tools/java6-jdk"
fi
fi
# this should go last, since it changes the bin dir.
JAVA_BIN_PIECE=Commands
fi
# last thing is to tell them we couldn't find it.
-if [ ! -d "$JAVA_HOME" ]; then
- if [ ! -z "$(which java)" ]; then
- echo "okay, java is in the path (JAVA_HOME unknown)."
- else
- intuition_failure JAVA_HOME
- unset JAVA_BIN_PIECE
- fi
+if [ ! -d "$JAVA_HOME" -a -z "$(whichable java 2>/dev/null)" ]; then
+ intuition_failure JAVA_HOME
+ unset JAVA_BIN_PIECE
fi
############################
ECLIPSE_DIR=$HOME/apps/eclipse
fi
if [ ! -d "$ECLIPSE_DIR" ]; then
-#uhhh, default on winders?
- ECLIPSE_DIR="/c/Program Files/eclipse"
+ ECLIPSE_DIR="c:/tools/eclipse"
fi
if [ ! -d "$ECLIPSE_DIR" ]; then
- ECLIPSE_DIR="/c/tools/eclipse"
-fi
-if [ ! -d "$ECLIPSE_DIR" ]; then
- ECLIPSE_DIR="/d/tools/eclipse"
+ if [ ! -z "$(grep 'd:' /proc/mounts)" ]; then
+ ECLIPSE_DIR="d:/tools/eclipse"
+ fi
fi
if [ ! -d "$ECLIPSE_DIR" ]; then
- ECLIPSE_DIR="/e/tools/eclipse"
+ if [ ! -z "$(grep 'e:' /proc/mounts)" ]; then
+ ECLIPSE_DIR="e:/tools/eclipse"
+ fi
fi
# final option is to whine.
-if [ ! -d "$ECLIPSE_DIR" ]; then
- if [ ! -z "$(which eclipse)" ]; then
- echo "okay, eclipse is in the path (ECLIPSE_DIR unknown)."
- else
- intuition_failure ECLIPSE_DIR;
+if [ ! -d "$ECLIPSE_DIR" -a -z "$(whichable eclipse 2>/dev/null)" ]; then
+ intuition_failure ECLIPSE_DIR
+else
+ if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
+ ECLIPSE_DIR=$(echo $ECLIPSE_DIR | sed -e 's/^\(.\):/\/cygdrive\/\1/')
fi
fi
# any other paths to different versions.
if [ ! -z "$JAVA_HOME" ]; then
- export PATH=$JAVA_HOME/$JAVA_BIN_PIECE:$PATH
+ j="$JAVA_HOME"
+ if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
+ j=$(echo $j | sed -e 's/^\(.\):/\/cygdrive\/\1/')
+ fi
+ export PATH=$j/$JAVA_BIN_PIECE:$PATH
fi
if [ ! -z "$ECLIPSE_DIR" ]; then
- export PATH=$ECLIPSE_DIR:$PATH
+ e="$ECLIPSE_DIR"
+ if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
+ e=$(echo $e | sed -e 's/^\(.\):/\/cygdrive\/\1/')
+ fi
+ export PATH=$e:$PATH
fi
############################