diff options
author | Paul Phillips <paulp@improving.org> | 2010-02-23 00:27:39 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-02-23 00:27:39 +0000 |
commit | df94b3c5b831e78a056f7b0b5334b1fb8d3c3bd5 (patch) | |
tree | 6be1d68b93045d6a568ac165126d4ed8e11e3fd7 /src/compiler/scala/tools/util/PathResolver.scala | |
parent | 8d74992310fe60a1da32606949c96531691754e9 (diff) | |
download | scala-df94b3c5b831e78a056f7b0b5334b1fb8d3c3bd5.tar.gz scala-df94b3c5b831e78a056f7b0b5334b1fb8d3c3bd5.tar.bz2 scala-df94b3c5b831e78a056f7b0b5334b1fb8d3c3bd5.zip |
Some much needed housecleaning regarding system...
Some much needed housecleaning regarding system properties. If you can
possibly resist the temptation, it'd be great if people could try to
go through the properties classes to get and set them, and also to set
property values somewhere fixed rather than using strings directly.
Review by community.
Diffstat (limited to 'src/compiler/scala/tools/util/PathResolver.scala')
-rw-r--r-- | src/compiler/scala/tools/util/PathResolver.scala | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/src/compiler/scala/tools/util/PathResolver.scala b/src/compiler/scala/tools/util/PathResolver.scala index 1a7c121d56..5c6bd2c884 100644 --- a/src/compiler/scala/tools/util/PathResolver.scala +++ b/src/compiler/scala/tools/util/PathResolver.scala @@ -7,6 +7,7 @@ package scala.tools package util import java.net.{ URL, MalformedURLException } +import scala.util.Properties._ import nsc.{ Settings, GenericRunnerSettings } import nsc.util.{ ClassPath, JavaClassPath, ScalaClassLoader } import nsc.io.{ File, Directory, Path } @@ -17,8 +18,6 @@ import PartialFunction.condOpt // https://lampsvn.epfl.ch/trac/scala/wiki/Classpath object PathResolver { - def propOrElse(name: String, alt: String) = System.getProperty(name, alt) - def envOrElse(name: String, alt: String) = Option(System getenv name) getOrElse alt def firstNonEmpty(xs: String*) = xs find (_ != "") getOrElse "" private def fileOpt(f: Path): Option[String] = f ifFile (_.path) @@ -53,27 +52,26 @@ object PathResolver { def sourcePathEnv = envOrElse("SOURCEPATH", "") // not used def scalaHomeEnv = envOrElse("SCALA_HOME", "") // not used def javaBootClassPath = propOrElse("sun.boot.class.path", searchForBootClasspath) - def javaUserClassPath = propOrElse("java.class.path", "") def javaExtDirs = propOrElse("java.ext.dirs", "") - def userHome = propOrElse("user.home", "") - def scalaHome = System.getProperty("scala.home") // keep null so we know when it's unset + def javaUserClassPath = propOrElse("java.class.path", classPathEnv) def scalaExtDirs = propOrElse("scala.ext.dirs", "") - def scalaHomeGuessed = searchForScalaHome + + def scalaHome = propOrElse("scala.home", null) def scalaHomeIsSet = scalaHome != null + def scalaAutodetect = propIsSet("scala.auto") && !propIsSet("scala.noauto") override def toString = """ |object Environment { + | scalaHome = %s (autodetect = %s) | javaBootClassPath = <%d chars> - | javaUserClassPath = %s | javaExtDirs = %s - | userHome = %s - | scalaHome = %s + | javaUserClassPath = %s | scalaExtDirs = %s |}""".trim.stripMargin.format( + scalaHome, scalaAutodetect, javaBootClassPath.length, - ppcp(javaUserClassPath), ppcp(javaExtDirs), - userHome, scalaHome, + ppcp(javaUserClassPath), ppcp(scalaExtDirs) ) } @@ -116,15 +114,16 @@ object PathResolver { override def toString = """ |object Defaults { - | javaBootClassPath = %s | scalaHome = %s + | javaBootClassPath = %s | scalaLibDirFound = %s | scalaLibFound = %s | scalaBootClassPath = %s | scalaPluginPath = %s |}""".trim.stripMargin.format( + scalaHome, ppcp(javaBootClassPath), - scalaHome, scalaLibDirFound, scalaLibFound, + scalaLibDirFound, scalaLibFound, ppcp(scalaBootClassPath), ppcp(scalaPluginPath) ) } @@ -207,17 +206,17 @@ class PathResolver(settings: Settings, context: JavaContext) { |object Calculated { | scalaHome = %s | javaBootClassPath = %s + | javaExtDirs = %s | javaUserClassPath = %s | scalaBootClassPath = %s - | javaExtDirs = %s | scalaExtDirs = %s | userClassPath = %s | sourcePath = %s |}""".trim.stripMargin.format( scalaHome, - ppcp(javaBootClassPath), ppcp(javaUserClassPath), ppcp(scalaBootClassPath), - ppcp(javaExtDirs), ppcp(scalaExtDirs), - ppcp(userClassPath), ppcp(sourcePath) + ppcp(javaBootClassPath), ppcp(javaExtDirs), ppcp(javaUserClassPath), + ppcp(scalaBootClassPath), ppcp(scalaExtDirs), ppcp(userClassPath), + ppcp(sourcePath) ) } |