diff options
Diffstat (limited to 'src/dotty/tools/dotc/config/PathResolver.scala')
-rw-r--r-- | src/dotty/tools/dotc/config/PathResolver.scala | 41 |
1 files changed, 16 insertions, 25 deletions
diff --git a/src/dotty/tools/dotc/config/PathResolver.scala b/src/dotty/tools/dotc/config/PathResolver.scala index 83d4c6933..1f9ee7eec 100644 --- a/src/dotty/tools/dotc/config/PathResolver.scala +++ b/src/dotty/tools/dotc/config/PathResolver.scala @@ -20,7 +20,7 @@ object PathResolver { // security exceptions. import AccessControl._ - def firstNonEmpty(xs: String*) = xs find (_ != "") getOrElse "" + def firstNonEmpty(xs: String*) = xs find (_ != "") getOrElse "" /** Map all classpath elements to absolute paths and reconstruct the classpath. */ @@ -50,16 +50,12 @@ object PathResolver { propOrElse("sun.boot.class.path", searchForBootClasspath) .split(":") .filterNot { jar => - // This classpath gets propagated to the compiled resources and as - // such needs to be purged of things that should not be on the - // compiled programs' classpath: - jar.contains("dotty-compiler") || - jar.contains("dotty-library") || - jar.contains("dotty-interfaces") || // let's blacklist locally compiled classes: - jar.contains("dotty/library/target") || - jar.contains("dotty/interfaces/target") || - jar.contains("dotty/target/scala-2.11") + jar.contains("/dotty/library/target/classes") || + jar.contains("/dotty/library/target/scala-2.11/classes") || + jar.contains("/dotty/interfaces/target/classes") || + jar.contains("/dotty/target/scala-2.11/classes") || + jar.contains("/dotty/target/classes") } .mkString(":") @@ -71,20 +67,14 @@ object PathResolver { def javaUserClassPath = propOrElse("java.class.path", "") def useJavaClassPath = propOrFalse("scala.usejavacp") - override def toString = """ + override def toString = s""" |object Environment { - | scalaHome = %s (useJavaClassPath = %s) - | javaBootClassPath = <%d chars> - | javaExtDirs = %s - | javaUserClassPath = %s - | scalaExtDirs = %s - |}""".trim.stripMargin.format( - scalaHome, useJavaClassPath, - javaBootClassPath.length, - ppcp(javaExtDirs), - ppcp(javaUserClassPath), - ppcp(scalaExtDirs) - ) + | scalaHome = $scalaHome (useJavaClassPath = $useJavaClassPath) + | javaBootClassPath = <${javaBootClassPath.length} chars> + | javaExtDirs = ${ppcp(javaExtDirs)} + | javaUserClassPath = ${ppcp(javaUserClassPath)} + | scalaExtDirs = ${ppcp(scalaExtDirs)} + |}""".trim.stripMargin } /** Default values based on those in Environment as interpreted according @@ -259,7 +249,7 @@ class PathResolver(implicit ctx: Context) { | javaBootClassPath = %s | javaExtDirs = %s | javaUserClassPath = %s - | useJavaClassPath = %s + | useJavaClassPath = %s | scalaBootClassPath = %s | scalaExtDirs = %s | userClassPath = %s @@ -276,7 +266,8 @@ class PathResolver(implicit ctx: Context) { def containers = Calculated.containers lazy val result: JavaClassPath = { - val cp = new JavaClassPath(containers.toIndexedSeq, context) + val (dottyJars, others) = containers.partition(_.name.contains("dotty")) + val cp = new JavaClassPath((dottyJars ++ others).toIndexedSeq, context) if (settings.Ylogcp.value) { Console.println("Classpath built from " + settings.toConciseString(ctx.sstate)) Console.println("Defaults: " + PathResolver.Defaults) |