You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by to...@apache.org on 2010/06/12 09:57:36 UTC
svn commit: r953950 - /buildr/trunk/all-in-one/buildr
Author: toulmean
Date: Sat Jun 12 07:57:36 2010
New Revision: 953950
URL: http://svn.apache.org/viewvc?rev=953950&view=rev
Log:
update to the latest version of the jruby script
Modified:
buildr/trunk/all-in-one/buildr
Modified: buildr/trunk/all-in-one/buildr
URL: http://svn.apache.org/viewvc/buildr/trunk/all-in-one/buildr?rev=953950&r1=953949&r2=953950&view=diff
==============================================================================
--- buildr/trunk/all-in-one/buildr (original)
+++ buildr/trunk/all-in-one/buildr Sat Jun 12 07:57:36 2010
@@ -19,16 +19,6 @@ case "`uname`" in
Darwin) darwin=true;;
esac
-#
-# Figure out the OS and cpu the same as JNA would, so the library path can be set
-#
-case "`uname -m`" in
- i[34567]86) JNA_CPU=i386; JNA_ALT_CPU=amd64;;
- i86pc) JNA_CPU="x86"; JNA_ALT_CPU=amd64;;
- amd64|x86_64) JNA_CPU=amd64; JNA_ALT_CPU=i386;;
- sparc*) JNA_CPU=sparc; JNA_ALT_CPU=sparcv9;;
-esac
-
# ----- Verify and Set Required Environment Variables -------------------------
## resolve links - $0 may be a link to home
@@ -39,7 +29,7 @@ while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
- if expr "$link" : '^/' > /dev/null; then
+ if expr "$link" : '/' > /dev/null; then
PRG="$link"
else
PRG="`dirname ${PRG}`/${link}"
@@ -103,13 +93,20 @@ JRUBY_SHELL=/bin/sh
CP_DELIMITER=":"
-# add jruby jars for command-line execution
-for j in "$JRUBY_HOME"/lib/{jruby*,bsf}.jar; do
+# add main jruby jar to the bootclasspath
+for j in "$JRUBY_HOME"/lib/jruby.jar "$JRUBY_HOME"/lib/jruby-complete.jar; do
+ if [ ! -e "$j" ]; then
+ continue
+ fi
if [ "$JRUBY_CP" ]; then
JRUBY_CP="$JRUBY_CP$CP_DELIMITER$j"
else
JRUBY_CP="$j"
fi
+ if [ $JRUBY_ALREADY_ADDED ]; then
+ echo "WARNING: more than one JRuby JAR found in lib directory"
+ fi
+ JRUBY_ALREADY_ADDED=true
done
if $cygwin; then
@@ -124,6 +121,12 @@ if [ "$JRUBY_PARENT_CLASSPATH" != "" ];
else
# add other jars in lib to CP for command-line execution
for j in "$JRUBY_HOME"/lib/*.jar; do
+ if [ "$j" == "$JRUBY_HOME"/lib/jruby.jar ]; then
+ continue
+ fi
+ if [ "$j" == "$JRUBY_HOME"/lib/jruby-complete.jar ]; then
+ continue
+ fi
if [ "$CP" ]; then
CP="$CP$CP_DELIMITER$j"
else
@@ -181,9 +184,11 @@ do
exit
elif [ "${val}" = "-classpath" ]; then
CP="$CP$CP_DELIMITER$2"
+ CLASSPATH=""
shift
elif [ "${val}" = "-cp" ]; then
CP="$CP$CP_DELIMITER$2"
+ CLASSPATH=""
shift
else
if [ "${val:0:3}" = "-ea" ]; then
@@ -193,9 +198,6 @@ do
fi
java_args=("${java_args[@]}" "${1:2}")
fi
- if [ "$CP" != "" ]; then
- CLASSPATH=""
- fi
;;
# Match switches that take an argument
-C|-e|-I|-S) ruby_args=("${ruby_args[@]}" "$1" "$2"); shift ;;
@@ -215,7 +217,8 @@ do
;;
# Run with JMX management enabled
--manage)
- java_args=("${java_args[@]}" "-Dcom.sun.management.jmxremote") ;;
+ java_args=("${java_args[@]}" "-Dcom.sun.management.jmxremote")
+ java_args=("${java_args[@]}" "-Djruby.management.enabled=true") ;;
# Don't launch a GUI window, no matter what
--headless)
java_args=("${java_args[@]}" "-Djava.awt.headless=true") ;;
@@ -235,12 +238,13 @@ do
JAVA_VM=-client ;;
--server)
JAVA_VM=-server ;;
+ --noclient) # JRUBY-4296
+ unset JAVA_VM ;; # For IBM JVM, neither '-client' nor '-server' is applicable
--sample)
java_args=("${java_args[@]}" "-Xprof") ;;
--ng-server)
# Start up as Nailgun server
java_class=com.martiansoftware.nailgun.NGServer
- JAVA_VM=-server
VERIFY_JRUBY=true ;;
--ng)
# Use native Nailgun client to toss commands to server
@@ -260,12 +264,6 @@ if [[ $darwin && -z "$JAVA_ENCODING" ]];
java_args=("${java_args[@]}" "-Dfile.encoding=UTF-8")
fi
-# Force -client mode for Buildr
-JAVA_VM=-client
-
-# Add unsafe optimizations known to be sound for Buildr
-JAVA_OPTS="$JAVA_OPTS -Djruby.compile.frameless=true -Djruby.compile.positionless=true -Djruby.compile.threadless=true -Djruby.compile.fastops=true"
-
# Add a property to report memory max
JAVA_OPTS="$JAVA_OPTS $JAVA_VM -Djruby.memory.max=${JAVA_MEM:4} -Djruby.stack.max=${JAVA_STACK:4}"
@@ -276,22 +274,17 @@ ruby_args=("${ruby_args[@]}" "$@")
set -- "${ruby_args[@]}"
JAVA_OPTS="$JAVA_OPTS $JAVA_MEM $JAVA_STACK"
-JNA_OS="`uname -s | tr '[:upper:]' '[:lower:]'`"
-case "$JNA_OS" in
-darwin) JNA_PATH="$JRUBY_HOME/lib/native/darwin";;
- *) JNA_PATH="$JRUBY_HOME/lib/native/${JNA_OS}-${JNA_CPU}:$JRUBY_HOME/lib/native/${JNA_OS}-${JNA_ALT_CPU}";;
-esac
-#JAVA_OPTS="$JAVA_OPTS -Djna.boot.library.path=$JNA_PATH"
-JAVA_JNA="-Djna.boot.library.path=$JNA_PATH"
JFFI_BOOT=""
-for d in $JRUBY_HOME/lib/native/*`uname -s`; do
- if [ -z "$JFFI_BOOT" ]; then
- JFFI_BOOT="$d"
- else
- JFFI_BOOT="$JFFI_BOOT:$d"
- fi
-done
+if [ -d $JRUBY_HOME/lib/native/ ]; then
+ for d in $JRUBY_HOME/lib/native/*`uname -s`; do
+ if [ -z "$JFFI_BOOT" ]; then
+ JFFI_BOOT="$d"
+ else
+ JFFI_BOOT="$JFFI_BOOT:$d"
+ fi
+ done
+fi
JFFI_OPTS="-Djffi.boot.library.path=$JFFI_BOOT"
if $cygwin; then
@@ -326,7 +319,7 @@ if [ "$VERIFY_JRUBY" != "" ]; then
echo "Running with instrumented profiler"
fi
- "$JAVA_CMD" $PROFILE_ARGS $JAVA_OPTS "$JAVA_JNA" "$JFFI_OPTS" "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \
+ "$JAVA_CMD" $PROFILE_ARGS $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \
"-Djruby.home=$JRUBY_HOME" \
"-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
"-Djruby.shell=$JRUBY_SHELL" \
@@ -349,7 +342,7 @@ if [ "$VERIFY_JRUBY" != "" ]; then
else
if $cygwin; then
# exec doed not work correctly with cygwin bash
- "$JAVA_CMD" $JAVA_OPTS "$JAVA_JNA" "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
+ "$JAVA_CMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
"-Djruby.home=$JRUBY_HOME" \
"-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
"-Djruby.shell=$JRUBY_SHELL" \
@@ -362,7 +355,7 @@ else
exit $JRUBY_STATUS
else
- exec "$JAVA_CMD" $JAVA_OPTS "$JAVA_JNA" "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
+ exec "$JAVA_CMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
"-Djruby.home=$JRUBY_HOME" \
"-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
"-Djruby.shell=$JRUBY_SHELL" \