diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-19 08:15:32 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-19 09:38:19 -0700 |
commit | 1c507efbc4ce13ad39a056c4c77eb280f0b224e7 (patch) | |
tree | db6c19cddc837bd994f4ae334a639167e3743d8c /scalaworker | |
parent | 7f9d508afe1e3e01ff0b5ed50e678d6798004b47 (diff) | |
parent | e7ac7323693edbdc350ec36b578ba3e101657360 (diff) | |
download | mill-1c507efbc4ce13ad39a056c4c77eb280f0b224e7.tar.gz mill-1c507efbc4ce13ad39a056c4c77eb280f0b224e7.tar.bz2 mill-1c507efbc4ce13ad39a056c4c77eb280f0b224e7.zip |
merge
Diffstat (limited to 'scalaworker')
-rw-r--r-- | scalaworker/src/mill/scalaworker/ScalaWorker.scala | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/scalaworker/src/mill/scalaworker/ScalaWorker.scala b/scalaworker/src/mill/scalaworker/ScalaWorker.scala index 58f93f01..c7aa4cd5 100644 --- a/scalaworker/src/mill/scalaworker/ScalaWorker.scala +++ b/scalaworker/src/mill/scalaworker/ScalaWorker.scala @@ -49,21 +49,25 @@ object ScalaWorker{ val outputPath = args(i + 0) val colored = args(i + 1) val testCp = args(i + 2) - + val homeStr = args(i + 3) + val ctx = new Ctx.Log with Ctx.Home { + val log = PrintLogger( + colored == "true", + if(colored == "true") Colors.Default + else Colors.BlackWhite, + System.out, + System.err, + System.err, + System.in + ) + val home = Path(homeStr) + } val result = new ScalaWorker(null, null).runTests( frameworkInstances = TestRunner.frameworks(frameworks), entireClasspath = Agg.from(classpath.map(Path(_))), testClassfilePath = Agg(Path(testCp)), args = arguments - )(new PrintLogger( - colored == "true", - if(colored == "true") Colors.Default - else Colors.BlackWhite, - System.out, - System.err, - System.err, - System.in - )) + )(ctx) ammonite.ops.write(Path(outputPath), upickle.default.write(result)) }catch{case e: Throwable => @@ -99,7 +103,7 @@ class ScalaWorker(ctx0: mill.util.Ctx, .get val sourceFolder = mill.modules.Util.unpackZip(sourceJar)(workingDir) - val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null) + val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null)(ctx0) val scalacMain = classloader.loadClass("scala.tools.nsc.Main") val argsArray = Array[String]( "-d", compiledDest.toString, @@ -260,7 +264,7 @@ class ScalaWorker(ctx0: mill.util.Ctx, entireClasspath: Agg[Path], testClassfilePath: Agg[Path], args: Seq[String]) - (implicit ctx: mill.util.Ctx.Log): (String, Seq[Result]) = { + (implicit ctx: Ctx.Log with Ctx.Home): (String, Seq[Result]) = { Jvm.inprocess(entireClasspath, classLoaderOverrideSbtTesting = true, cl => { val frameworks = frameworkInstances(cl) |