diff options
-rw-r--r-- | main/src/mill/modules/Jvm.scala | 6 | ||||
-rw-r--r-- | scalaworker/src/mill/scalaworker/ScalaWorker.scala | 19 |
2 files changed, 14 insertions, 11 deletions
diff --git a/main/src/mill/modules/Jvm.scala b/main/src/mill/modules/Jvm.scala index c8473b65..153e1959 100644 --- a/main/src/mill/modules/Jvm.scala +++ b/main/src/mill/modules/Jvm.scala @@ -1,6 +1,6 @@ package mill.modules -import java.io.{ByteArrayInputStream, FileOutputStream} +import java.io.{ByteArrayInputStream, FileOutputStream, File} import java.lang.reflect.Modifier import java.net.{URI, URLClassLoader} import java.nio.file.{FileSystems, Files, OpenOption, StandardOpenOption} @@ -28,7 +28,7 @@ object Jvm { baseInteractiveSubprocess( Vector("java") ++ jvmArgs ++ - Vector("-cp", classPath.mkString(":"), mainClass) ++ + Vector("-cp", classPath.mkString(File.pathSeparator), mainClass) ++ mainArgs, envArgs, workingDir @@ -137,7 +137,7 @@ object Jvm { val commandArgs = Vector("java") ++ jvmArgs ++ - Vector("-cp", classPath.mkString(":"), mainClass) ++ + Vector("-cp", classPath.mkString(File.pathSeparator), mainClass) ++ mainArgs val workingDir1 = Option(workingDir).getOrElse(ctx.dest) diff --git a/scalaworker/src/mill/scalaworker/ScalaWorker.scala b/scalaworker/src/mill/scalaworker/ScalaWorker.scala index c9b31917..12511b60 100644 --- a/scalaworker/src/mill/scalaworker/ScalaWorker.scala +++ b/scalaworker/src/mill/scalaworker/ScalaWorker.scala @@ -36,21 +36,24 @@ object ScalaWorker{ def main(args: Array[String]): Unit = { try{ + val (frameworks, classpath, testCp, arguments, outputPath, colored) = args match { + case Array(fs, cp, tcp, op, c) => (fs, cp, tcp, "", op, c) + case Array(fs, cp, tcp, as, op, c) => (fs, cp, tcp, as, op, c) + } val result = new ScalaWorker(null, null).runTests( - frameworkInstances = TestRunner.frameworks(args(0).split(" ")), - entireClasspath = Agg.from(args(1).split(" ").map(Path(_))), - testClassfilePath = Agg.from(args(2).split(" ").map(Path(_))), - args = args(3) match{ case "" => Nil case x => x.split(" ").toList } + frameworkInstances = TestRunner.frameworks(frameworks.split(" ")), + entireClasspath = Agg.from(classpath.split(" ").map(Path(_))), + testClassfilePath = Agg.from(testCp.split(" ").map(Path(_))), + args = arguments match{ case "" => Nil case x => x.split(" ").toList } )(new PrintLogger( - args(5) == "true", - if(args(5) == "true") Colors.Default + colored == "true", + if(colored == "true") Colors.Default else Colors.BlackWhite, System.out, System.err, System.err, System.in )) - val outputPath = args(4) ammonite.ops.write(Path(outputPath), upickle.default.write(result)) }catch{case e: Throwable => @@ -90,7 +93,7 @@ class ScalaWorker(ctx0: mill.util.Ctx, val scalacMain = classloader.loadClass("scala.tools.nsc.Main") val argsArray = Array[String]( "-d", compiledDest.toString, - "-classpath", (compilerJars ++ compilerBridgeClasspath).mkString(":") + "-classpath", (compilerJars ++ compilerBridgeClasspath).mkString(File.pathSeparator) ) ++ ls.rec(sourceFolder.path).filter(_.ext == "scala").map(_.toString) scalacMain.getMethods |