should fix cases where uses of lein.bat
would cause the use of /classes/ folder instead of /target/classes/
which resulted in some classes not being found
ie. when compiling leiningen project from source
However on win7 though (but not on winxp) all set variables inside
script will be leaked if the script fails within another setlocal ie.
set JAVA_CMD="ja"va"
lein
set
Will show LEIN_HOME, LEIN_JAR and ORIGINAL_PWD remained set.
The following .bat will prove the point:
@echo on
setLocal EnableExtensions EnableDelayedExpansion
set xxx="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
rem comment the following line to prevent xxx to leak into parent shell:
setlocal
rem the below will make script fail(just type "set" to see it leaked):
if x == '
echo not reached!
just as @technomancy said in #774
if LEIN_JAVA_CMD is not set it will fall back to JAVA_CMD which in turn
if it's not set it will fall back to just "java" (without dbl.quotes)
addresses #774
script will still fail if it contains characters like >, <, |, & or even
parentheses or an even number of double quotes
ie. this will work:
set JAVA_CMD="c:\program"" f""iles\java\jdk1."7.0_0"5\bin\java.exe"
lein javac
Read the TRAMPOLINE_FILE environment variable instead of putting it
in a system property. Drip looks up pre-spun JVMs using a hash of the
command-line arguments, so putting the trampoline file in a system
property causes it to start a new spare JVM for every lein invocation.
We need to do this as get-classpath can itself trigger the downloading
of dependencies. This also ensures leiningen-core/resources is added to
the classpath by the wrapper scripts.
Changed to look for file .lein-classpath only when running from source checkout.
Fixed construction of variable CLASSPATH to avoid unnecessary quotes and semi colons.
Removed option Xbootclasspath from command line.