bazelbuild / rules_scala

Scala rules for Bazel
Apache License 2.0
363 stars 278 forks source link

Collect diagnostics in Scala 3 #1611

Closed WojciechMazur closed 1 month ago

WojciechMazur commented 2 months ago

Description

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

WojciechMazur commented 1 month ago

Thank you for taking care of that, I've made a rebase. I'm also preparing a port of dependency_analyzer compiler plugin that is missing for Scala 3. It should finally introduce parity for most of Scala 2 and 3 features and would take advantage of DepsTrackingReporter introduced in this PR.