rules_scala
rules_scala copied to clipboard
Collect diagnostics in Scala 3
Description
- Port
ProtoReporter
andDepsTrackingReporter
to Scala 3 - Adapt ScalacInvoker to use new reports in Scala 3
- Enable reports tests for Scala 3 (test_scala_version). Mitigate differences in warnings/errors/info reported by Scala 3 and Scala 2 by introducing a dedicated test cases
Additional info:
Would conflict with #1606 in ScalacInvoker for Scala 3
Required workaround for https://github.com/scala/scala3/issues/21533 - we cannot extend ConsoleReporter
in Scala 3 directly. I've decided to port exact behaviour of scalac ConsoleReporter to allow for the most identical semantics across different build tools.
I'm also going to remove tech-debt between all 4 implementations of ProtoReporter/ProtocReporter by introducing a common abstraction in the follow-up PR
Motivation
Fixes #1602