summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/src/mill/modules/Jvm.scala6
-rw-r--r--scalaworker/src/mill/scalaworker/ScalaWorker.scala19
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