summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2008-10-23 10:39:50 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2008-10-23 10:39:50 +0000
commit597f971fcdb67b601b3c05593e9ad1ff492c5f43 (patch)
tree462f7577e447b8e1b32170d4e0b644e9385d4669 /src
parente64aa79347abc36d8c3a7ee50f7f3dcba5f0d0b3 (diff)
downloadscala-597f971fcdb67b601b3c05593e9ad1ff492c5f43.tar.gz
scala-597f971fcdb67b601b3c05593e9ad1ff492c5f43.tar.bz2
scala-597f971fcdb67b601b3c05593e9ad1ff492c5f43.zip
Finally fixed #906 (quick/bin/fsc does not work).
Also fixed a code duplication in MainGenericRunner related to handling settings (same code that was already duplicated, with inconsistencies, in CompileServer and in Main, fixed in r12623)
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/MainGenericRunner.scala57
1 files changed, 22 insertions, 35 deletions
diff --git a/src/compiler/scala/tools/nsc/MainGenericRunner.scala b/src/compiler/scala/tools/nsc/MainGenericRunner.scala
index 9d73176a8a..eddb72fb63 100644
--- a/src/compiler/scala/tools/nsc/MainGenericRunner.scala
+++ b/src/compiler/scala/tools/nsc/MainGenericRunner.scala
@@ -33,17 +33,26 @@ object MainGenericRunner {
if (scalaHome eq null)
""
else {
- val libdir = new File(new File(scalaHome), "lib")
- if (!libdir.exists || libdir.isFile)
- return classpath
-
- val filesInLib = libdir.listFiles
- val jarsInLib =
- filesInLib.filter(f =>
- f.isFile && f.getName.endsWith(".jar"))
-
- jarsInLib.mkString("", File.pathSeparator, "")
- }
+ def listDir(name:String):Array[File] = {
+ val libdir = new File(new File(scalaHome), name)
+ if (!libdir.exists || libdir.isFile)
+ Array()
+ else
+ libdir.listFiles
+ }
+ {
+ val filesInLib = listDir("lib")
+ val jarsInLib =
+ filesInLib.filter(f =>
+ f.isFile && f.getName.endsWith(".jar"))
+ jarsInLib.toList
+ } ::: {
+ val filesInClasses = listDir("classes")
+ val dirsInClasses =
+ filesInClasses.filter(f => f.isDirectory)
+ dirsInClasses.toList
+ }
+ }.mkString("", File.pathSeparator, "")
if (classpath == "")
extraClassPath + File.pathSeparator + "."
@@ -77,30 +86,8 @@ object MainGenericRunner {
return
}
-
- if (settings.help.value || settings.Xhelp.value || settings.Yhelp.value) {
- if (command.settings.help.value) {
- println(command.usageMsg)
- println(sampleCompiler.pluginOptionsHelp)
- }
-
- if (settings.Xhelp.value)
- println(command.xusageMsg)
-
- if (settings.Yhelp.value)
- println(command.yusageMsg)
-
- return
- }
-
-
- if (settings.showPhases.value) {
- println(sampleCompiler.phaseDescriptions)
- return
- }
-
- if (settings.showPlugins.value) {
- println(sampleCompiler.pluginDescriptions)
+ if (command.shouldStopWithInfo) {
+ Console.println(command.getInfoMessage(sampleCompiler))
return
}