diff --git a/modules/build/src/main/scala/scala/build/ConsoleBloopBuildClient.scala b/modules/build/src/main/scala/scala/build/ConsoleBloopBuildClient.scala index 968ddb0c0f..6d226367c9 100644 --- a/modules/build/src/main/scala/scala/build/ConsoleBloopBuildClient.scala +++ b/modules/build/src/main/scala/scala/build/ConsoleBloopBuildClient.scala @@ -174,7 +174,7 @@ object ConsoleBloopBuildClient { val prefix = diagnosticPrefix(diag.getSeverity) val line = (diag.getRange.getStart.getLine + 1).toString + ":" - val col = (diag.getRange.getStart.getCharacter + 1).toString + ":" + val col = (diag.getRange.getStart.getCharacter + 1).toString val msgIt = diag.getMessage.linesIterator val path0 = path match { @@ -183,9 +183,9 @@ object ConsoleBloopBuildClient { "." + File.separator + p.relativeTo(Os.pwd).toString case Right(p) => p.toString } - logger.error(s"$prefix$path0:$line$col" + (if (msgIt.hasNext) " " + msgIt.next() else "")) + logger.error(s"$prefix$path0:$line$col") for (line <- msgIt) - logger.message(prefix + line) + logger.error(prefix + line) val codeOpt = { val lineOpt = if (diag.getRange.getStart.getLine == diag.getRange.getEnd.getLine) diff --git a/modules/integration/src/test/scala/scala/cli/integration/CompileTestDefinitions.scala b/modules/integration/src/test/scala/scala/cli/integration/CompileTestDefinitions.scala index a77ee59ba6..0048a96095 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/CompileTestDefinitions.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/CompileTestDefinitions.scala @@ -488,9 +488,8 @@ abstract class CompileTestDefinitions(val scalaVersionOpt: Option[String]) test("generate scoverage.coverage file") { val fileName = "Hello.scala" val inputs = TestInputs( - os.rel / fileName -> // scala version should updated to 3.3 after release - s"""//> using scala "3.2.0-RC1-bin-20220604-13ce496-NIGHTLY" - |//> using options "-coverage-out:." + os.rel / fileName -> + s"""//> using options "-coverage-out:." | |@main def main = () |""".stripMargin diff --git a/modules/integration/src/test/scala/scala/cli/integration/CompileTestsDefault.scala b/modules/integration/src/test/scala/scala/cli/integration/CompileTestsDefault.scala index 841ee52762..706fdace4a 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/CompileTestsDefault.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/CompileTestsDefault.scala @@ -1,3 +1,23 @@ package scala.cli.integration -class CompileTestsDefault extends CompileTestDefinitions(scalaVersionOpt = None) +import com.eed3si9n.expecty.Expecty.expect +class CompileTestsDefault extends CompileTestDefinitions(scalaVersionOpt = None) { + test("render explain message") { + val fileName = "Hello.scala" + val inputs = TestInputs( + os.rel / fileName -> // should be dump to 3.3.1 after release + s"""//> using scala "3.3.1-RC1-bin-20230203-3ef1e73-NIGHTLY" + |//> using options "--explain" + | + |class A + |val i: Int = A() + |""".stripMargin + ) + inputs.fromRoot { root => + val out = os.proc(TestUtil.cli, "compile", extraOptions, fileName) + .call(cwd = root, check = false, mergeErrIntoOut = true).out.trim() + + expect(out.contains("Explanation")) + } + } +} diff --git a/modules/options/src/main/scala/scala/build/actionable/ActionablePreprocessor.scala b/modules/options/src/main/scala/scala/build/actionable/ActionablePreprocessor.scala index d0d20cbb8c..0b70507cef 100644 --- a/modules/options/src/main/scala/scala/build/actionable/ActionablePreprocessor.scala +++ b/modules/options/src/main/scala/scala/build/actionable/ActionablePreprocessor.scala @@ -16,7 +16,6 @@ object ActionablePreprocessor { .map(handler => handler.createActionableDiagnostics(options)) .sequence .left.map(CompositeBuildException(_)) - .map((v: Seq[Seq[Any]]) => v.flatten) - .asInstanceOf[Either[BuildException, Seq[ActionableDiagnostic]]] + .map(_.flatten) }