diff --git a/contrib/jmh/src/mill/contrib/jmh/JmhModule.scala b/contrib/jmh/src/mill/contrib/jmh/JmhModule.scala index a9d9efd1850..56ad48ceb60 100644 --- a/contrib/jmh/src/mill/contrib/jmh/JmhModule.scala +++ b/contrib/jmh/src/mill/contrib/jmh/JmhModule.scala @@ -53,11 +53,14 @@ trait JmhModule extends JavaModule { val dest = T.ctx().dest val (sourcesDir, _) = generateBenchmarkSources() val sources = os.walk(sourcesDir).filter(os.isFile) + os.proc( - "javac", + Jvm.jdkTool("javac"), sources.map(_.toString), "-cp", - (runClasspath() ++ generatorDeps()).map(_.path.toString).mkString(":"), + (runClasspath() ++ generatorDeps()).map(_.path.toString).mkString( + java.io.File.pathSeparator + ), "-d", dest ).call(dest) @@ -80,7 +83,7 @@ trait JmhModule extends JavaModule { Jvm.runSubprocess( "org.openjdk.jmh.generators.bytecode.JmhBytecodeGenerator", (runClasspath() ++ generatorDeps()).map(_.path), - mainArgs = Array( + mainArgs = Seq( compile().classes.path.toString, sourcesDir.toString, resourcesDir.toString, diff --git a/contrib/jmh/test/src/JmhModuleTest.scala b/contrib/jmh/test/src/JmhModuleTest.scala index c75be55875a..e6abd52f5f4 100644 --- a/contrib/jmh/test/src/JmhModuleTest.scala +++ b/contrib/jmh/test/src/JmhModuleTest.scala @@ -34,17 +34,16 @@ object JmhModuleTest extends TestSuite { def tests = Tests { test("jmh") { - "detects benchmarks" - workspaceTest(jmh) { eval => + "listJmhBenchmarks" - workspaceTest(jmh) { eval => val paths = EvaluatorPaths.resolveDestPaths(eval.outPath, jmh.listJmhBenchmarks()) val outFile = paths.dest / "benchmarks.out" - println(outFile) val Right((result, _)) = eval(jmh.listJmhBenchmarks("-o", outFile.toString)) val expected = """Benchmarks: |mill.contrib.jmh.Bench2.log |mill.contrib.jmh.Bench2.sqrt |mill.contrib.jmh.Bench1.measureShared |mill.contrib.jmh.Bench1.measureUnshared""".stripMargin - val out = os.read.lines(outFile).map(_.trim).mkString("\n") + val out = os.read.lines(outFile).map(_.trim).mkString(System.lineSeparator()) assert(out == expected) } }