Skip to content

Commit

Permalink
Fix Scala.js toolchain logs in server-client mode (#3196)
Browse files Browse the repository at this point in the history
For some reason logging with `scala.Console` doesn't work with the
Scala.js linker in server-client mode, maybe it's related to some
classloader issue. This works around the problem by using `System.out`
instead, which works correctly.

Pull Request: #3196
  • Loading branch information
lolgab authored Jun 4, 2024
1 parent 176ef38 commit 3de00fa
Showing 1 changed file with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import org.scalajs.linker.interface.{
ModuleSplitStyle => _,
_
}
import org.scalajs.logging.ScalaConsoleLogger
import org.scalajs.logging.{Level, Logger}
import org.scalajs.jsenv.{Input, JSEnv, RunConfig}
import org.scalajs.testing.adapter.TestAdapter
import org.scalajs.testing.adapter.{TestAdapterInitializer => TAI}
Expand Down Expand Up @@ -158,6 +158,14 @@ class ScalaJSWorkerImpl extends ScalaJSWorkerApi {
(linker, irFileCacheCache)
}
}
private val logger = new Logger {
def log(level: Level, message: => String): Unit = {
System.err.println(message)
}
def trace(t: => Throwable): Unit = {
t.printStackTrace()
}
}
def link(
runClasspath: Seq[Path],
dest: File,
Expand Down Expand Up @@ -190,7 +198,6 @@ class ScalaJSWorkerImpl extends ScalaJSWorkerApi {
dest = dest
))
val irContainersAndPathsFuture = PathIRContainer.fromClasspath(runClasspath)
val logger = new ScalaConsoleLogger
val testInitializer =
if (testBridgeInit)
ModuleInitializer.mainMethod(TAI.ModuleClassName, TAI.MainMethodName) :: Nil
Expand Down Expand Up @@ -284,7 +291,7 @@ class ScalaJSWorkerImpl extends ScalaJSWorkerApi {
def run(config: JsEnvConfig, report: Report): Unit = {
val env = jsEnv(config)
val input = jsEnvInput(report)
val runConfig0 = RunConfig().withLogger(new ScalaConsoleLogger)
val runConfig0 = RunConfig().withLogger(logger)
val runConfig =
if (mill.api.SystemStreams.isOriginal()) runConfig0
else runConfig0
Expand Down Expand Up @@ -315,7 +322,7 @@ class ScalaJSWorkerImpl extends ScalaJSWorkerApi {
): (() => Unit, sbt.testing.Framework) = {
val env = jsEnv(config)
val input = jsEnvInput(report)
val tconfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger)
val tconfig = TestAdapter.Config().withLogger(logger)

val adapter = new TestAdapter(env, input, tconfig)

Expand Down

0 comments on commit 3de00fa

Please # to comment.