Skip to content

coverageReport task fails when using Scala 3.2.0 with -Yexplicit-nulls #470

Open
@klaeufer

Description

@klaeufer

sbt-scoverage seems to be incompatible with Scala 3's explicit nulls language feature.

I first made some minimal changes to convert sbt-scoverage-samples to explicit nulls:

https://github.com/scoverage/sbt-scoverage-samples/compare/main...klaeufer:sbt-scoverage-samples:scala3-explicit-nulls?expand=1

When running sbt clean coverage test coverageReport, all tests still pass, but the subsequent coverageReport task fails. The cause seems to be the stdLibPatches made to Predef.scala to enable the explicit nulls feature.

[info] Waiting for measurement data to sync...
[info] Reading scoverage instrumentation [/Users/laufer/Dropbox/Home/Work/teaching/cs371/sbt-scoverage-samples/target/scala-3.2.0/scoverage-data/scoverage.coverage]
[info] Reading scoverage measurements...
[info] Generating scoverage reports...
[info] Written Cobertura report [/Users/laufer/Dropbox/Home/Work/teaching/cs371/sbt-scoverage-samples/target/scala-3.2.0/coverage-report/cobertura.xml]
[info] Written XML coverage report [/Users/laufer/Dropbox/Home/Work/teaching/cs371/sbt-scoverage-samples/target/scala-3.2.0/scoverage-report/scoverage.xml]
[error] java.lang.RuntimeException: No source root found for '/Users/laufer/Dropbox/Home/Work/teaching/cs371/sbt-scoverage-samples/library/src/scala/runtime/stdLibPatches/Predef.scala' (source roots: '/Users/laufer/Dropbox/Home/Work/teaching/cs371/sbt-scoverage-samples/src/main/scala/')
...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions