Created
July 16, 2010 19:30
-
-
Save antoniogarrote/478807 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# change paths according to your repl setup | |
USER_HOME="/Users/antonio.garrote" | |
CLJR_HOME="/Users/antonio.garrote/.cljr" | |
CLASSPATH=src:test:. | |
if [ ! -n "$JVM_OPTS" ]; then | |
JVM_OPTS="-Xmx1G" | |
fi | |
if [ "$DISABLE_JLINE" = "true" ]; then | |
JLINE="" | |
else | |
JLINE="jline.ConsoleRunner" | |
fi | |
if [ "$1" = "repl" -o "$1" = "swingrepl" -o "$1" = "swank" -o "$1" = "run" ]; then | |
if [ -n "$CLOJURE_HOME" ]; then | |
for f in "$CLOJURE_HOME"/*.jar; do | |
CLASSPATH="$CLASSPATH":$f | |
done | |
fi | |
for f in "$CLJR_HOME"/lib/*.jar; do | |
CLASSPATH="$CLASSPATH":$f | |
done | |
if [ "$1" = "repl" ]; then | |
ng clojure.main -e "(require 'cljr.main) (cljr.main/initialize-classpath)" -r | |
else | |
ng cljr.App $* | |
fi | |
else | |
CLASSPATH="$CLASSPATH":"$CLJR_HOME"/cljr.jar | |
ng cljr.App $* | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# change paths according to your cljr setup | |
USER_HOME="/Users/antonio.garrote" | |
CLJR_HOME="/Users/antonio.garrote/.cljr" | |
CLASSPATH=src:test:. | |
if [ ! -n "$JVM_OPTS" ]; then | |
JVM_OPTS="-Xmx1G" | |
fi | |
if [ "$DISABLE_JLINE" = "true" ]; then | |
JLINE="" | |
else | |
JLINE="jline.ConsoleRunner" | |
fi | |
if [ "$1" = "repl" -o "$1" = "swingrepl" -o "$1" = "swank" -o "$1" = "run" ]; then | |
if [ -n "$CLOJURE_HOME" ]; then | |
for f in "$CLOJURE_HOME"/*.jar; do | |
CLASSPATH="$CLASSPATH":$f | |
done | |
fi | |
for f in "$CLJR_HOME"/lib/*.jar; do | |
CLASSPATH="$CLASSPATH":$f | |
done | |
if [ "$1" = "repl" ]; then | |
java $JVM_OPTS -Dinclude.cljr.repo.jars=false -Duser.home="$USER_HOME" -Dclojure.home="$CLOJURE_HOME" -Dcljr.home="$CLJR_HOME" -cp "$CLASSPATH" $JLINE clojure.main -e "(require 'cljr.main\ | |
) (cljr.main/initialize-classpath)" -r | |
else | |
java $JVM_OPTS -Dinclude.cljr.repo.jars=false -Duser.home="$USER_HOME" -Dclojure.home="$CLOJURE_HOME" -Dcljr.home="$CLJR_HOME" -cp "$CLASSPATH" cljr.App $* | |
fi | |
else | |
CLASSPATH="$CLASSPATH":"$CLJR_HOME"/cljr.jar:"$CLJR_HOME"/nailgun.jar | |
java $JVM_OPTS -Duser.home="$USER_HOME" -Dclojure.home="$CLOJURE_HOME" -Dcljr.home="$CLJR_HOME" -cp "$CLASSPATH" com.martiansoftware.nailgun.NGServer | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cljr + nailgun setup | |
--------------------- | |
1. install cljr: http://github.com/liebke/cljr | |
2. install nailgun: http://martiansoftware.com/nailgun/index.html | |
2.1 download nailgun | |
2.2 unzip | |
2.3 compile: make | |
2.4 copy ng exec to your path | |
2.5 copy nailgun.jar to ~/.cljr/ | |
3. create cljr-server script | |
3.1 cp ~/.cljr/bin/cljr ~/.cljr/bin/cljr-server | |
3.2 edit cljr-server file according to what is shown in the file above (change cljr app start by nailgun start) | |
4. create cljr-client script | |
4.1 cp ~/.cljr/bin/cljr ~/.cljr/bin/cljr-client | |
4.2 edit cljr-server file according to what is shown above (change java exec by ng exec) | |
5. running | |
5.1 start nailgun: ~/.cljr/bin/cljr-server | |
5.2 run cljr: ~/.cljr/bin/cljr-client repl | |
The first time you run cljr-client repl it can take a few seconds, second time it should be instantantly :) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Nice idea... and it works fine for basic use, but it doesn't handle the classpath correctly. Directories added using "cljr add-classpath ..." are not taken into account. I guess this could be fixed using Stuart Sierra's classpath manager for nailgun (http://github.com/stuartsierra/classpath-manager).