[infinispan-commits] Infinispan SVN: r2638 - in trunk: demos/ec2/src/main/resources and 3 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Fri Oct 29 09:15:30 EDT 2010


Author: manik.surtani at jboss.com
Date: 2010-10-29 09:15:30 -0400 (Fri, 29 Oct 2010)
New Revision: 2638

Modified:
   trunk/core/src/main/resources/importConfig.sh
   trunk/demos/ec2/src/main/resources/runEC2Demo-all.sh
   trunk/demos/ec2/src/main/resources/runEC2Demo-influenza.sh
   trunk/demos/ec2/src/main/resources/runEC2Demo-nucleotide.sh
   trunk/demos/ec2/src/main/resources/runEC2Demo-protein.sh
   trunk/demos/ec2/src/main/resources/runEC2Demo-query.sh
   trunk/demos/ec2/src/main/resources/runEC2Demo-reader.sh
   trunk/demos/gui/src/main/resources/runGuiDemo.sh
   trunk/demos/lucene-directory-demo/src/main/resources/runLuceneDemo.sh
   trunk/server/core/src/main/resources/startServer.sh
Log:
ISPN-747 - Ensure java executable is properly detected for different OSs and JDKs in all shell scripts

Modified: trunk/core/src/main/resources/importConfig.sh
===================================================================
--- trunk/core/src/main/resources/importConfig.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/core/src/main/resources/importConfig.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -2,6 +2,62 @@
 
 DIRNAME=`dirname $0`
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -17,4 +73,10 @@
    done
 fi
 CLASSPATH=${ISPN_HOME}/infinispan-core.jar:$CLASSPATH
-java -classpath $CLASSPATH org.infinispan.config.parsing.ConfigFilesConvertor ${*}
+
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CLASSPATH=`cygpath -wp ${CLASSPATH}`
+fi
+
+${JAVACMD} -classpath $CLASSPATH org.infinispan.config.parsing.ConfigFilesConvertor ${*}

Modified: trunk/demos/ec2/src/main/resources/runEC2Demo-all.sh
===================================================================
--- trunk/demos/ec2/src/main/resources/runEC2Demo-all.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/ec2/src/main/resources/runEC2Demo-all.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -2,6 +2,62 @@
 
 DIRNAME=`dirname $0`
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -35,4 +91,9 @@
 DEMO_ARGS="${DEMO_ARGS} -n ${ISPN_HOME}/etc/Amazon-TestData/influenza_na.dat"
 DEMO_ARGS="${DEMO_ARGS} -i ${ISPN_HOME}/etc/Amazon-TestData/influenza.dat"
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS} 
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CP=`cygpath -wp ${CP}`
+fi
+
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS}

Modified: trunk/demos/ec2/src/main/resources/runEC2Demo-influenza.sh
===================================================================
--- trunk/demos/ec2/src/main/resources/runEC2Demo-influenza.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/ec2/src/main/resources/runEC2Demo-influenza.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -2,6 +2,62 @@
 
 DIRNAME=`dirname $0`
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -31,4 +87,9 @@
 DEMO_ARGS="${DEMO_ARGS} -c ${ISPN_HOME}/etc/config-samples/ec2-demo/infinispan-ec2-config.xml"
 DEMO_ARGS="${DEMO_ARGS} -i ${ISPN_HOME}/etc/Amazon-TestData/influenza.dat"
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS} 
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CP=`cygpath -wp ${CP}`
+fi
+
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS}

Modified: trunk/demos/ec2/src/main/resources/runEC2Demo-nucleotide.sh
===================================================================
--- trunk/demos/ec2/src/main/resources/runEC2Demo-nucleotide.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/ec2/src/main/resources/runEC2Demo-nucleotide.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -2,6 +2,62 @@
 
 DIRNAME=`dirname $0`
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -31,4 +87,9 @@
 DEMO_ARGS="${DEMO_ARGS} -c ${ISPN_HOME}/etc/config-samples/ec2-demo/infinispan-ec2-config.xml"
 DEMO_ARGS="${DEMO_ARGS} -n ${ISPN_HOME}/etc/Amazon-TestData/influenza_na.dat"
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS} 
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CP=`cygpath -wp ${CP}`
+fi
+
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS}

Modified: trunk/demos/ec2/src/main/resources/runEC2Demo-protein.sh
===================================================================
--- trunk/demos/ec2/src/main/resources/runEC2Demo-protein.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/ec2/src/main/resources/runEC2Demo-protein.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -2,6 +2,62 @@
 
 DIRNAME=`dirname $0`
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -31,4 +87,9 @@
 DEMO_ARGS="${DEMO_ARGS} -c ${ISPN_HOME}/etc/config-samples/ec2-demo/infinispan-ec2-config.xml"
 DEMO_ARGS="${DEMO_ARGS} -p ${ISPN_HOME}/etc/Amazon-TestData/influenza_aa.dat"
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS} 
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CP=`cygpath -wp ${CP}`
+fi
+
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS}

Modified: trunk/demos/ec2/src/main/resources/runEC2Demo-query.sh
===================================================================
--- trunk/demos/ec2/src/main/resources/runEC2Demo-query.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/ec2/src/main/resources/runEC2Demo-query.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -2,6 +2,62 @@
 
 DIRNAME=`dirname $0`
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -27,4 +83,9 @@
 DEMO_ARGS="${DEMO_ARGS} -c ${ISPN_HOME}/etc/config-samples/ec2-demo/infinispan-ec2-config.xml"
 DEMO_ARGS="${DEMO_ARGS} -q "
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS} 
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CP=`cygpath -wp ${CP}`
+fi
+
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS}

Modified: trunk/demos/ec2/src/main/resources/runEC2Demo-reader.sh
===================================================================
--- trunk/demos/ec2/src/main/resources/runEC2Demo-reader.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/ec2/src/main/resources/runEC2Demo-reader.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -2,6 +2,62 @@
 
 DIRNAME=`dirname $0`
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -28,4 +84,9 @@
 DEMO_ARGS="${DEMO_ARGS} -r "
 DEMO_ARGS="${DEMO_ARGS} -i ${ISPN_HOME}/etc/Amazon-TestData/influenza.dat"
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS}
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CP=`cygpath -wp ${CP}`
+fi
+
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.ec2demo.InfinispanFluDemo ${DEMO_ARGS}

Modified: trunk/demos/gui/src/main/resources/runGuiDemo.sh
===================================================================
--- trunk/demos/gui/src/main/resources/runGuiDemo.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/gui/src/main/resources/runGuiDemo.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -8,15 +8,64 @@
   done
 }
 
-DIRNAME=`dirname $0`
-
-# Detect Cygwin
-# Cygwin fix courtesy of Supin Ko
-cygwin=false
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
 case "`uname`" in
-CYGWIN*) cygwin=true;;
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
 esac
 
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
+DIRNAME=`dirname $0`
+
 # Setup ISPN_HOME
 if [ "x$ISPN_HOME" = "x" ]; then
     # get the full path (without any relative bits)
@@ -44,4 +93,4 @@
 # Sample JPDA settings for remote socket debuging
 #JVM_PARAMS="$JVM_PARAMS -Xrunjdwp:transport=dt_socket,address=8686,server=y,suspend=n"
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.demo.InfinispanDemo &
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.demo.InfinispanDemo &

Modified: trunk/demos/lucene-directory-demo/src/main/resources/runLuceneDemo.sh
===================================================================
--- trunk/demos/lucene-directory-demo/src/main/resources/runLuceneDemo.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/demos/lucene-directory-demo/src/main/resources/runLuceneDemo.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -1,5 +1,61 @@
 #!/bin/bash
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
 DIRNAME=`dirname $0`
 
 # Setup ISPN_HOME
@@ -23,9 +79,14 @@
    CP=${i}:${CP}
 done
 
+if $cygwin; then
+   # Turn paths into Windows style for Cygwin
+   CP=`cygpath -wp ${CP}`
+fi
+
 JVM_PARAMS="${JVM_PARAMS} -Dbind.address=127.0.0.1 -Djava.net.preferIPv4Stack=true -Dlog4j.configuration=file:${ISPN_HOME}/etc/log4j.xml"
 
 # Sample JPDA settings for remote socket debugging
 #JVM_PARAMS="$JVM_PARAMS -Xrunjdwp:transport=dt_socket,address=8686,server=y,suspend=n"
 
-java -cp ${CP} ${JVM_PARAMS} org.infinispan.lucenedemo.DemoDriver
+${JAVACMD} -cp ${CP} ${JVM_PARAMS} org.infinispan.lucenedemo.DemoDriver

Modified: trunk/server/core/src/main/resources/startServer.sh
===================================================================
--- trunk/server/core/src/main/resources/startServer.sh	2010-10-29 13:04:51 UTC (rev 2637)
+++ trunk/server/core/src/main/resources/startServer.sh	2010-10-29 13:15:30 UTC (rev 2638)
@@ -10,6 +10,68 @@
   fi
 }
 
+# OS specific support.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+fi
+
 DIRNAME=`dirname $0`
 
 # Setup ISPN_HOME
@@ -19,13 +81,6 @@
 fi
 export ISPN_HOME
 
-# Detect Cygwin
-# Cygwin fix courtesy of Supin Ko
-cygwin=false
-case "`uname`" in
-CYGWIN*) cygwin=true;;
-esac
-
 add_to_classpath ${ISPN_HOME}
 add_to_classpath ${ISPN_HOME}/lib
 add_to_classpath ${ISPN_HOME}/modules/memcached
@@ -48,4 +103,4 @@
 # Sample JPDA settings for remote socket debuging
 #JVM_PARAMS="$JVM_PARAMS -Xrunjdwp:transport=dt_socket,address=8686,server=y,suspend=n"
 
-java -cp $CP ${JVM_PARAMS} org.infinispan.server.core.Main ${*}
\ No newline at end of file
+${JAVACMD} -cp $CP ${JVM_PARAMS} org.infinispan.server.core.Main ${*}
\ No newline at end of file



More information about the infinispan-commits mailing list