3 # Author: Chris Koeritz
5 # this script tries to intuit where java is installed on this machine.
7 ############################
12 which which &>/dev/null
14 # there is no which command here. we produce nothing due to this.
17 echo $(which $to_find)
20 # this reports when we have totally failed to figure out where a folder
21 # is actually located on the machine.
22 function intuition_failure()
25 if [ ! -z "$SHELL_DEBUG" ]; then
26 echo "Could not intuit '$missing' variable."
28 # remove the variable because its value is busted.
32 ############################
34 # set some fairly liberal limits for ant.
35 export ANT_OPTS="-Xms512m -Xmx768m -XX:MaxPermSize=768m"
37 ############################
39 # start guessing some settings...
41 # this bin portion works for most javas...
42 export JAVA_BIN_PIECE=bin
44 if [ ! -d "$JAVA_HOME" ]; then
45 # first try a recent linux version.
46 export JAVA_HOME=/usr/lib/jvm/java-6-sun
48 if [ ! -d "$JAVA_HOME" ]; then
49 # try an even more recent version.
50 export JAVA_HOME=/usr/lib/jvm/java-7-oracle
52 if [ ! -d "$JAVA_HOME" ]; then
53 JAVA_HOME="$(ls -d c:/tools/*jdk* 2>/dev/null)"
55 if [ ! -d "$JAVA_HOME" ]; then
56 if [ ! -z "$(grep -i 'd:' /proc/mounts 2>/dev/null)" ]; then
57 # try using a windows version.
58 JAVA_HOME="$(ls -d d:/tools/*jdk* 2>/dev/null)"
61 # this should go last, since it changes the bin dir.
62 if [ ! -d "$JAVA_HOME" ]; then
63 # if that didn't work, try the location for mac os x.
64 JAVA_HOME=/Library/Java/Home
65 JAVA_BIN_PIECE=Commands
67 # last thing is to tell them we couldn't find it.
68 if [ ! -d "$JAVA_HOME" ]; then
71 if [ -z "$(whichable java 2>/dev/null)" ]; then
72 intuition_failure JAVA_HOME
76 ############################
78 # intuit where we have our local eclipse.
79 if [ ! -d "$ECLIPSE_DIR" ]; then
80 export ECLIPSE_DIR=/usr/local/eclipse
82 if [ ! -d "$ECLIPSE_DIR" ]; then
83 ECLIPSE_DIR=$HOME/eclipse
85 if [ ! -d "$ECLIPSE_DIR" ]; then
86 ECLIPSE_DIR=$HOME/apps/eclipse
88 if [ ! -d "$ECLIPSE_DIR" ]; then
89 ECLIPSE_DIR="c:/tools/eclipse"
91 if [ ! -d "$ECLIPSE_DIR" ]; then
92 if [ ! -z "$(grep -i 'd:' /proc/mounts)" ]; then
93 ECLIPSE_DIR="d:/tools/eclipse"
96 if [ ! -d "$ECLIPSE_DIR" ]; then
97 if [ ! -z "$(grep -i 'e:' /proc/mounts)" ]; then
98 ECLIPSE_DIR="e:/tools/eclipse"
101 # final option is to whine.
102 if [ ! -d "$ECLIPSE_DIR" ]; then
105 if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
106 # fix the path for cygwin's bizarre requirement of /cygdrive/X.
107 ECLIPSE_DIR=$(echo $ECLIPSE_DIR | sed -e 's/^\(.\):/\/cygdrive\/\1/')
110 if [ -z "$ECLIPSE_DIR" -a -z "$(whichable eclipse 2>/dev/null)" ]; then
111 intuition_failure ECLIPSE_DIR
114 ############################
116 # use the variables we just set in our path, and try to make them override
117 # any other paths to different versions.
119 if [ ! -z "$JAVA_HOME" ]; then
121 if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
122 j=$(echo $j | sed -e 's/^\(.\):/\/cygdrive\/\1/')
124 export PATH=$j/$JAVA_BIN_PIECE:$PATH
126 if [ ! -z "$ECLIPSE_DIR" ]; then
128 if [ ! -z "$(uname -a | grep -i cygwin)" ]; then
129 e=$(echo $e | sed -e 's/^\(.\):/\/cygdrive\/\1/')
134 ############################