diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index d2143f31f..ab3ebc511 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -503,8 +503,8 @@ object Defaults extends BuildCommon { selectMainClass := mainClass.value orElse askForMainClass(discoveredMainClasses.value), mainClass in run := (selectMainClass in run).value, mainClass := pickMainClassOrWarn(discoveredMainClasses.value, streams.value.log), - runMain := runMainTask(fullClasspath, runner in run).evaluated, - run := runTask(fullClasspath, mainClass in run, runner in run).evaluated, + runMain := foregroundRunMainTask.evaluated, + run := foregroundRunTask.evaluated, copyResources := copyResourcesTask.value, // note that we use the same runner and mainClass as plain run bgRunMain := bgRunMainTask(exportedProductJars, @@ -1540,8 +1540,11 @@ object Defaults extends BuildCommon { lazy val configSettings : Seq[Setting[_]] = Classpaths.configSettings ++ configTasks ++ configPaths ++ packageConfig ++ Classpaths.compilerPluginConfig ++ deprecationSettings - lazy val compileSettings - : Seq[Setting[_]] = configSettings ++ (mainBgRunMainTask +: mainBgRunTask +: addBaseSources) ++ Classpaths.addUnmanagedLibrary + lazy val compileSettings: Seq[Setting[_]] = + configSettings ++ + (mainBgRunMainTask +: mainBgRunTask +: addBaseSources) ++ + Classpaths.addUnmanagedLibrary + lazy val testSettings: Seq[Setting[_]] = configSettings ++ testTasks lazy val itSettings: Seq[Setting[_]] = inConfig(IntegrationTest)(testSettings) diff --git a/sbt/src/sbt-test/compiler-project/run-test/build.sbt b/sbt/src/sbt-test/compiler-project/run-test/build.sbt index 52cd6d1f6..1e2352020 100644 --- a/sbt/src/sbt-test/compiler-project/run-test/build.sbt +++ b/sbt/src/sbt-test/compiler-project/run-test/build.sbt @@ -1,6 +1,9 @@ +scalaVersion in ThisBuild := "2.12.3" + libraryDependencies ++= Seq( - "com.novocode" % "junit-interface" % "0.5" % "test", - "junit" % "junit" % "4.8" % "test" + "com.novocode" % "junit-interface" % "0.5" % Test, + "junit" % "junit" % "4.8" % Test, + "commons-io" % "commons-io" % "2.5" % Runtime, ) libraryDependencies += scalaVersion("org.scala-lang" % "scala-compiler" % _ ).value diff --git a/sbt/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala b/sbt/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala index 872ab523e..4f45a02cc 100644 --- a/sbt/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala +++ b/sbt/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala @@ -28,10 +28,11 @@ class Foo { catch { case _: URISyntaxException => new File(url.getPath) } } -object Test -{ - def main(args: Array[String]) - { +object Test { + def main(args: Array[String]): Unit = { + // test that Runtime configuration is included + Class.forName("org.apache.commons.io.ByteOrderMark") + val foo = new Foo args.foreach { arg => foo.eval(arg) == arg.toInt } }