summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-11-08 17:52:15 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-11-08 18:32:24 +1000
commit5df64a4d05ab504a4ca0bfdb9ba8c21430b1ccd8 (patch)
tree39ca32836dd4e1c1cb5128a73589f9da4ab136e9 /src/compiler/scala/tools/ant/templates/tool-unix.tmpl
parentced9e167d9d2c9016e76b6db94ceea7335d37bf2 (diff)
downloadscala-5df64a4d05ab504a4ca0bfdb9ba8c21430b1ccd8.tar.gz
scala-5df64a4d05ab504a4ca0bfdb9ba8c21430b1ccd8.tar.bz2
scala-5df64a4d05ab504a4ca0bfdb9ba8c21430b1ccd8.zip
SI-8967 Only add JARs and dirs from $SCALA_HOME/lib to classpath
That's all we ship in that directory, but it seems that some JVMs freak out with a core dump if something else ends up in that directory and we add it to the boot classpath. Testing on unix: % rm ./build/pack/bin.complete; ant % touch /Users/jason/code/scala/build/pack/lib/foo.txt % mkdir /Users/jason/code/scala/build/pack/lib/dir   % bash -x ./build/pack/bin/scala -version ... /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/java -Xmx256M -Xms32M -Xbootclasspath/a:/Users/jason/code/scala/build/pack/lib/dir:/Users/jason/code/scala/build/pack/lib/jline.jar:/Users/jason/code/scala/build/pack/lib/scala-actors.jar:/Users/jason/code/scala/build/pack/lib/scala-compiler.jar:/Users/jason/code/scala/build/pack/lib/scala-continuations-library_2.11-1.0.2.jar:/Users/jason/code/scala/build/pack/lib/scala-continuations-plugin_2.11.2-1.0.2.jar:/Users/jason/code/scala/build/pack/lib/scala-library.jar:/Users/jason/code/scala/build/pack/lib/scala-parser-combinators_2.11-1.0.2.jar:/Users/jason/code/scala/build/pack/lib/scala-partest-extras.jar:/Users/jason/code/scala/build/pack/lib/scala-partest-javaagent.jar:/Users/jason/code/scala/build/pack/lib/scala-reflect.jar:/Users/jason/code/scala/build/pack/lib/scala-swing_2.11-1.0.1.jar:/Users/jason/code/scala/build/pack/lib/scala-xml_2.11-1.0.2.jar:/Users/jason/code/scala/build/pack/lib/scalap.jar -classpath '""' -Dscala.home=/Users/jason/code/scala/build/pack -Dscala.usejavacp=true -Denv.emacs= scala.tools.nsc.MainGenericRunner -version The boot classpath contains `build/pack/lib/dir` but not `foo.txt`. I will seek a Windows test of the same during PR review.
Diffstat (limited to 'src/compiler/scala/tools/ant/templates/tool-unix.tmpl')
-rwxr-xr-xsrc/compiler/scala/tools/ant/templates/tool-unix.tmpl12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
index f58223a39e..7acb3632d2 100755
--- a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
+++ b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl
@@ -86,10 +86,14 @@ fi
TOOL_CLASSPATH="@classpath@"
if [[ -z "$TOOL_CLASSPATH" ]]; then
for ext in "$SCALA_HOME"/lib/* ; do
- if [[ -z "$TOOL_CLASSPATH" ]]; then
- TOOL_CLASSPATH="$ext"
- else
- TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${ext}"
+ file_extension="${ext##*.}"
+ # SI-8967 Only consider directories and files named '*.jar'
+ if [[ -d "$ext" || $file_extension == "jar" ]]; then
+ if [[ -z "$TOOL_CLASSPATH" ]]; then
+ TOOL_CLASSPATH="$ext"
+ else
+ TOOL_CLASSPATH="${TOOL_CLASSPATH}${SEP}${ext}"
+ fi
fi
done
fi