diff --git a/README.textile b/README.textile index 25338a2..24dc571 100644 --- a/README.textile +++ b/README.textile @@ -30,6 +30,10 @@ h2. Quick start # Run @cljr repl@ or @cljr swingrepl@ to launch a REPL configured for all the installed packages. +You can also use the executable jar, cljr.jar, installed in ~/.cljr to run commands: +* @java -jar ~/.cljr/cljr.jar list@ +* @java -jar ~/.cljr/cljr.jar repl@ + h2. Documentation @@ -98,9 +102,9 @@ and either double-click on the jar file to run it from the command line: *Alternative installation directories* You can provide alternative CLJR_HOME and USER_HOME directories by passing them as properties to the above java command. -For instance, the following command creates the @.cljr@ and Maven @.m2@ directories under @C:\@ on a Windows box (something I had to do since Windows had problems with my shared home under VMWare, \\vmware-host\...). +For instance, the following command creates the @.cljr@ and Maven @.m2@ directories under @C:@ on a Windows box (something I had to do since Windows had problems with my shared home under VMWare, \\vmware-host\...). -@java -Duser.home=C:\ -jar cljr-installer.jar@ +@java -Duser.home=C: -jar cljr-installer.jar@ *cljr scripts* diff --git a/installer/project.clj b/installer/project.clj index 2308d43..fbcb902 100644 --- a/installer/project.clj +++ b/installer/project.clj @@ -3,4 +3,4 @@ :dependencies [[cljr "1.0.0-SNAPSHOT"]] ; :jar-name "cljr-only.jar" ; name of the jar produced by 'lein jar' ; :uberjar-name "cljr-installer.jar" ; as above for uberjar - :main cljr.installer) + :main cljr.repl) diff --git a/installer/src/cljr/installer.clj b/installer/src/cljr/repl.clj similarity index 83% rename from installer/src/cljr/installer.clj rename to installer/src/cljr/repl.clj index 56a82f7..b891569 100644 --- a/installer/src/cljr/installer.clj +++ b/installer/src/cljr/repl.clj @@ -1,4 +1,4 @@ -(ns cljr.installer +(ns cljr.repl (:require cljr.main) (:gen-class)) diff --git a/script/install b/script/install index 0745acf..ff1e687 100755 --- a/script/install +++ b/script/install @@ -5,6 +5,6 @@ mvn install cd installer lein clean && lein deps && lein uberjar # for new version of lein -#java -jar cljr-installer-1.0.0-SNAPSHOT-standalone.jar +java -jar cljr-installer-1.0.0-SNAPSHOT-standalone.jar # for old version of lein -java -jar cljr-installer-standalone.jar +#java -jar cljr-installer-standalone.jar diff --git a/src/main/resources/cljr/core.clj b/src/main/resources/cljr/core.clj index d479ade..4d6b4a9 100644 --- a/src/main/resources/cljr/core.clj +++ b/src/main/resources/cljr/core.clj @@ -143,12 +143,17 @@ (seq (.listFiles (file clojure-home))))))) +(defn include-cljr-repo-jars? [] + (not= "false" (System/getProperty "include.cljr.repo.jars"))) + + (defn full-classpath [] (let [cljr-repo (file (get-cljr-home) "lib") additional-paths (get-classpath-urls (get-classpath-vector)) - clojure-home-jars (get-clojure-home-jars) - jar-files nil ;;(seq (.listFiles cljr-repo)) - ] + clojure-home-jars (when (include-cljr-repo-jars?) + (get-clojure-home-jars)) + jar-files (when (include-cljr-repo-jars?) + (seq (.listFiles cljr-repo)))] (filter identity (flatten (conj clojure-home-jars jar-files additional-paths))))) diff --git a/src/main/resources/cljr/scripts.clj b/src/main/resources/cljr/scripts.clj index b2a3291..fb2e857 100644 --- a/src/main/resources/cljr/scripts.clj +++ b/src/main/resources/cljr/scripts.clj @@ -14,33 +14,34 @@ "CLJR_HOME=\"" (get-cljr-home) "\"\n" "CLASSPATH=src" (cygwin-safe-path-sep) "test" (cygwin-safe-path-sep) ".\n\n" - " if [ ! -n \"$JVM_OPTS\" ]; then\n\n" + " if [ ! -n \"$JVM_OPTS\" ]; then\n" " JVM_OPTS=\"-Xmx1G\"\n" " fi\n\n" - " if [ \"$DISABLE_JLINE\" = \"true\" ]; then\n\n" + " if [ \"$DISABLE_JLINE\" = \"true\" ]; then\n" " JLINE=\"\"\n" " else\n" " JLINE=\"jline.ConsoleRunner\"\n" " fi\n\n" - "if [ \"$1\" = \"repl\" -o \"$1\" = \"swingrepl\" -o \"$1\" = \"swank\" -o \"$1\" = \"run\" ]; then\n\n" - " if [ -n \"$CLOJURE_HOME\" ]; then\n\n" + "if [ \"$1\" = \"repl\" -o \"$1\" = \"swingrepl\" -o \"$1\" = \"swank\" -o \"$1\" = \"run\" ]; then\n" + " if [ -n \"$CLOJURE_HOME\" ]; then\n" " for f in \"$CLOJURE_HOME\"/*.jar; do\n" - " CLASSPATH=\"$CLASSPATH\"" (cygwin-safe-path-sep) "$f\n\n" - " done\n\n" - " fi\n\n" + " CLASSPATH=\"$CLASSPATH\"" (cygwin-safe-path-sep) "$f\n" + " done\n" + " fi\n" " for f in \"$CLJR_HOME\"/lib/*.jar; do\n" " CLASSPATH=\"$CLASSPATH\"" (cygwin-safe-path-sep) "$f\n" " done\n\n" - "else\n\n" - " CLASSPATH=\"$CLASSPATH\"" (cygwin-safe-path-sep) "\"$CLJR_HOME\"/cljr.jar\n\n" - "fi\n\n" - "if [ \"$1\" = \"repl\" ]; then\n" - " java $JVM_OPTS -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\n\n" - "else\n\n" - " java $JVM_OPTS -Duser.home=\"$USER_HOME\" -Dclojure.home=\"$CLOJURE_HOME\" -Dcljr.home=\"$CLJR_HOME\" -cp \"$CLASSPATH\" cljr.App $*\n\n" + " if [ \"$1\" = \"repl\" ]; then\n" + " 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\n" + " else\n" + " java $JVM_OPTS -Dinclude.cljr.repo.jars=false -Duser.home=\"$USER_HOME\" -Dclojure.home=\"$CLOJURE_HOME\" -Dcljr.home=\"$CLJR_HOME\" -cp \"$CLASSPATH\" cljr.App $*\n" + " fi\n" + "else\n" + " CLASSPATH=\"$CLASSPATH\"" (cygwin-safe-path-sep) "\"$CLJR_HOME\"/cljr.jar\n" + " java $JVM_OPTS -Duser.home=\"$USER_HOME\" -Dclojure.home=\"$CLOJURE_HOME\" -Dcljr.home=\"$CLJR_HOME\" -cp \"$CLASSPATH\" cljr.App $*\n" "fi\n\n"))) @@ -88,7 +89,7 @@ "goto EOF\r\n\r\n" ":LAUNCH\r\n" - " java %JVM_OPTS% -Dcljr.home=" (get-cljr-home) " -Duser.home=" (get-user-home) " -Dclojure.home=%CLOJURE_HOME% -cp \"%CLASSPATH%\" cljr.App %*\r\n" + " java %JVM_OPTS% -Dinclude.cljr.repo.jars=false -Dcljr.home=" (get-cljr-home) " -Duser.home=" (get-user-home) " -Dclojure.home=%CLOJURE_HOME% -cp \"%CLASSPATH%\" cljr.App %*\r\n" "goto EOF\r\n\r\n" ":EOF\r\n"))) \ No newline at end of file