hiding some warning noise on stderr.
[feisty_meow.git] / examples / custom_overrides / fred / java_profile.sh
index 713c31a1fcccd9b302d8706850a64a5dc301f6cc..612308e698b791000c8b3186f797b1bbd2c36fbb 100755 (executable)
@@ -50,8 +50,13 @@ if [ ! -d "$JAVA_HOME" ]; then
   export JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre
 fi
 if [ ! -d "$JAVA_HOME" ]; then
-  # try using a windows version.
-  JAVA_HOME="d:/tools/java6-jdk"
+  JAVA_HOME="$(ls -d c:/tools/*jdk* 2>/dev/null)"
+fi
+if [ ! -d "$JAVA_HOME" ]; then
+  if [ ! -z "$(grep 'd:' /proc/mounts 2>/dev/null)" ]; then
+    # try using a windows version.
+    JAVA_HOME="$(ls -d d:/tools/*jdk* 2>/dev/null)"
+  fi
 fi
 # this should go last, since it changes the bin dir.
 if [ ! -d "$JAVA_HOME" ]; then
@@ -60,12 +65,11 @@ if [ ! -d "$JAVA_HOME" ]; then
   JAVA_BIN_PIECE=Commands
 fi
 # last thing is to tell them we couldn't find it.
-if [ ! -d "$JAVA_HOME" -a -z "$(whichable java 2>/dev/null)" ]; then
-  intuition_failure JAVA_HOME
+if [ ! -d "$JAVA_HOME" ]; then
+  unset JAVA_HOME
   unset JAVA_BIN_PIECE
-else
-  if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
-    JAVA_HOME=$(echo $JAVA_HOME | sed -e 's/^\(.\):/\/cygdrive\/\1/')
+  if [ -z "$(whichable java 2>/dev/null)" ]; then
+    intuition_failure JAVA_HOME
   fi
 fi
 
@@ -81,27 +85,31 @@ fi
 if [ ! -d "$ECLIPSE_DIR" ]; then
   ECLIPSE_DIR=$HOME/apps/eclipse
 fi
-if [ ! -d "$ECLIPSE_DIR" ]; then
-#uhhh, default on winders?
-  ECLIPSE_DIR="c:/Program Files/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" -a -z "$(whichable eclipse 2>/dev/null)" ]; then
-  intuition_failure ECLIPSE_DIR
+if [ ! -d "$ECLIPSE_DIR" ]; then
+  unset ECLIPSE_DIR
 else
   if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
+    # fix the path for cygwin's bizarre requirement of /cygdrive/X.
     ECLIPSE_DIR=$(echo $ECLIPSE_DIR | sed -e 's/^\(.\):/\/cygdrive\/\1/')
   fi
 fi
+if [ -z "$ECLIPSE_DIR" -a -z "$(whichable eclipse 2>/dev/null)" ]; then
+  intuition_failure ECLIPSE_DIR
+fi
 
 ############################
 
@@ -109,10 +117,18 @@ 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=$PATH:$j/$JAVA_BIN_PIECE
 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=$PATH:$e
 fi
 
 ############################