diff --git a/build.sbt b/build.sbt index 8e84bd19c73e..4bafb82e1740 100644 --- a/build.sbt +++ b/build.sbt @@ -2,12 +2,24 @@ name := "dotty" organization := "lamp" -scalaVersion := "2.10.0" +scalaVersion := "2.11.0-M6" + +scalaBinaryVersion := scalaVersion.value scalaSource in Compile <<= baseDirectory / "src" scalacOptions in Global ++= Seq("-feature", "-deprecation", "-language:_") -libraryDependencies <+= scalaVersion ( sv => "org.scala-lang" % "scala-reflect" % sv ) +libraryDependencies ++= Seq( + "org.scala-lang" % "scala-reflect" % scalaVersion.value, + "org.scala-lang.modules" %% "scala-xml" % "1.0.0-RC6" +) + +scalaSource in Test <<= baseDirectory / "test" + +libraryDependencies += "junit" % "junit-dep" % "4.10" % "test" + +libraryDependencies += "com.novocode" % "junit-interface" % "0.10" % "test" + +testOptions += Tests.Argument(TestFrameworks.JUnit, "-q", "-v", "-s") -scalaSource in Test <<= baseDirectory / "test" \ No newline at end of file diff --git a/project/build.properties b/project/build.properties index 66ad72ce2eba..0974fce44da5 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.12.2 +sbt.version=0.13.0 diff --git a/src/dotty/tools/dotc/config/PathResolver.scala b/src/dotty/tools/dotc/config/PathResolver.scala index 3aa42defb76f..39b853cfcd08 100644 --- a/src/dotty/tools/dotc/config/PathResolver.scala +++ b/src/dotty/tools/dotc/config/PathResolver.scala @@ -46,13 +46,23 @@ object PathResolver { def classPathEnv = envOrElse("CLASSPATH", "") def sourcePathEnv = envOrElse("SOURCEPATH", "") - def javaBootClassPath = propOrElse("sun.boot.class.path", searchForBootClasspath) + // See https://gist.github.com/harrah/404272 + private def getEmbeddedClasspath(id: String): String = + Option(getClass.getClassLoader.getResource(s"$id.class.path")) map { cp => scala.io.Source.fromURL(cp).mkString(File.pathSeparator) } + + def javaBootClassPath = { + val jvmBoot = propOrElse("sun.boot.class.path", searchForBootClasspath) + getEmbeddedClasspath("boot") match { + case Some(embeddedBoot) => jvmBoot + File.pathSeparator + embeddedBoot + case None => jvmBoot + } + } def javaExtDirs = propOrEmpty("java.ext.dirs") def scalaHome = propOrEmpty("scala.home") def scalaExtDirs = propOrEmpty("scala.ext.dirs") /** The java classpath and whether to use it. */ - def javaUserClassPath = propOrElse("java.class.path", "") + def javaUserClassPath = getEmbeddedClasspath("app").getOrElse(propOrElse("java.class.path", "")) def useJavaClassPath = propOrFalse("scala.usejavacp") override def toString = """ diff --git a/test/test/DottyTest.scala b/test/test/DottyTest.scala index 8d48bd58ee5f..82292eb5b48e 100644 --- a/test/test/DottyTest.scala +++ b/test/test/DottyTest.scala @@ -25,6 +25,7 @@ class DottyTest { .withSetting(printtypes, true) .withSetting(pageWidth, 90) .withSetting(log, List("