From 135fdaced862b8a8b1764161cd35a6c6b7ecf395 Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Tue, 10 Jan 2012 16:47:44 -0800 Subject: [PATCH 1/6] Bump lein version to 1.7.0-SNAPSHOT. --- bin/compile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/compile b/bin/compile index 6d93c36..1023353 100755 --- a/bin/compile +++ b/bin/compile @@ -9,7 +9,7 @@ BUILD_DIR=$1 CACHE_DIR=$2 # install leiningen jar -LEIN_VERSION="1.6.2" +LEIN_VERSION="1.7.0-SNAPSHOT" LEIN_JAR_URL="https://heroku-buildpack-clojure.s3.amazonaws.com/leiningen-$LEIN_VERSION-standalone.jar" LEIN_JAR_PATH="$CACHE_DIR/leiningen-$LEIN_VERSION-standalone.jar" From 166d4670ae676579e7286bbacfbf2d4dd25537aa Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Tue, 10 Jan 2012 16:47:55 -0800 Subject: [PATCH 2/6] The self-repl task is redundant in lein 1.7. --- opt/lein | 3 --- 1 file changed, 3 deletions(-) diff --git a/opt/lein b/opt/lein index b7db1f1..ecf4200 100644 --- a/opt/lein +++ b/opt/lein @@ -29,9 +29,6 @@ elif [ "$1" == "trampoline" ]; then rm $TRAMPOLINE_FILE exec sh -c "$TRAMPOLINE" fi -elif [ "$1" == "self-repl" ]; then - CLASSPATH="$CLASSPATH:src/:$LEIN_JAR" - exec rlwrap java $LEIN_JVM_OPTS -cp "$CLASSPATH" clojure.main else CLASSPATH="$CLASSPATH:test/:src/:lib/dev/*:$LEIN_JAR" exec java $LEIN_JVM_OPTS -cp "$CLASSPATH" \ From a76da61bdab7bc6bb76eacbf6dd0418a9d0330d8 Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Tue, 10 Jan 2012 16:50:22 -0800 Subject: [PATCH 3/6] Allow trampolines from any task that writes the trampoline-file. This should allow us to honor the :plugin directives from project.clj by trampolining. --- opt/lein | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/opt/lein b/opt/lein index ecf4200..e999664 100644 --- a/opt/lein +++ b/opt/lein @@ -19,18 +19,15 @@ if [ "$1" == "repl" ]; then else exec java $LEIN_JVM_OPTS -cp $CLASSPATH clojure.main --repl fi -elif [ "$1" == "trampoline" ]; then +else TRAMPOLINE_FILE="/tmp/lein-trampoline-$$" - CLASSPATH="$CLASSPATH:src/:$LEIN_JAR" - java $LEIN_JVM_OPTS -Dleiningen.trampoline-file=$TRAMPOLINE_FILE -cp "$CLASSPATH" \ + CLASSPATH="$CLASSPATH:test/:src/:.lein-plugins/*:lib/dev/*:$LEIN_JAR" + java $LEIN_JVM_OPTS -cp "$CLASSPATH" \ + -Dleiningen.trampoline-file=$TRAMPOLINE_FILE \ clojure.main -e "(use 'leiningen.core)(-main)" /dev/null $@ if [ -r $TRAMPOLINE_FILE ]; then TRAMPOLINE="$(cat $TRAMPOLINE_FILE)" rm $TRAMPOLINE_FILE exec sh -c "$TRAMPOLINE" fi -else - CLASSPATH="$CLASSPATH:test/:src/:lib/dev/*:$LEIN_JAR" - exec java $LEIN_JVM_OPTS -cp "$CLASSPATH" \ - clojure.main -e "(use 'leiningen.core)(-main)" /dev/null $@ fi From 1fb44e5ffdfa957948de9a60aa4bc24a339cdb20 Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Wed, 8 Feb 2012 16:21:56 -0800 Subject: [PATCH 4/6] Use JVM_OPTS or JAVA_OPTS. --- opt/lein | 3 +++ 1 file changed, 3 insertions(+) diff --git a/opt/lein b/opt/lein index e999664..8eb608d 100644 --- a/opt/lein +++ b/opt/lein @@ -10,6 +10,9 @@ fi LEIN_JVM_OPTS="$LEIN_JVM_OPTS -Duser.home=$HOME -Dleiningen.original.pwd=$PWD" LEIN_JAR=".lein/leiningen-$LEIN_VERSION-standalone.jar" +# Prefer JVM_OPTS, but fall back to JAVA_OPTS for compatibility +export JVM_OPTS="${JVM_OPTS:-"$JAVA_OPTS"}" + if [ "$1" == "repl" ]; then CLASSPATH=$(lein classpath) if [ "$COLUMNS" != "" -a "$LINES" != "" ]; then From 9de4272d7b49be93fbf59a31b97d2cd5a33c1164 Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Wed, 8 Feb 2012 16:22:04 -0800 Subject: [PATCH 5/6] Bump to lein 1.7.0 release. --- bin/compile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/compile b/bin/compile index 1023353..f66042a 100755 --- a/bin/compile +++ b/bin/compile @@ -9,7 +9,7 @@ BUILD_DIR=$1 CACHE_DIR=$2 # install leiningen jar -LEIN_VERSION="1.7.0-SNAPSHOT" +LEIN_VERSION="1.7.0" LEIN_JAR_URL="https://heroku-buildpack-clojure.s3.amazonaws.com/leiningen-$LEIN_VERSION-standalone.jar" LEIN_JAR_PATH="$CACHE_DIR/leiningen-$LEIN_VERSION-standalone.jar" @@ -67,7 +67,7 @@ fi cd $BUILD_DIR PATH=.lein/bin:/usr/local/bin:/usr/bin:/bin \ - JAVA_OPTS="-Xmx500m -Duser.home=$BUILD_DIR" \ + LEIN_JVM_OPTS="-Xmx500m -Duser.home=$BUILD_DIR" \ lein $LEIN_BUILD_TASK 2>&1 | sed -u 's/^/ /' if [ "${PIPESTATUS[*]}" != "0 0" ]; then echo " ! Failed to install dependencies with Leiningen" From 2135210e86e5cb72fab0da4677c6ef5b33f24e4b Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Wed, 8 Feb 2012 16:35:33 -0800 Subject: [PATCH 6/6] Preserve exit code of JVM. --- opt/lein | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/opt/lein b/opt/lein index 8eb608d..fdc196a 100644 --- a/opt/lein +++ b/opt/lein @@ -25,12 +25,17 @@ if [ "$1" == "repl" ]; then else TRAMPOLINE_FILE="/tmp/lein-trampoline-$$" CLASSPATH="$CLASSPATH:test/:src/:.lein-plugins/*:lib/dev/*:$LEIN_JAR" + java $LEIN_JVM_OPTS -cp "$CLASSPATH" \ -Dleiningen.trampoline-file=$TRAMPOLINE_FILE \ clojure.main -e "(use 'leiningen.core)(-main)" /dev/null $@ + EXIT_CODE=$? + if [ -r $TRAMPOLINE_FILE ]; then TRAMPOLINE="$(cat $TRAMPOLINE_FILE)" rm $TRAMPOLINE_FILE - exec sh -c "$TRAMPOLINE" + exec sh -c "exec $TRAMPOLINE" + else + exit $EXIT_CODE fi fi