Background
root-pom pins com.github.cerveada:scalatest-maven-plugin:2.0.1 in two places:
<pluginManagement> — the version every consumer inherits
- the
code-coverage profile — where the JaCoCo agent argLine is wired into it
com.github.cerveada:scalatest-maven-plugin is a JitPack fork of an old
org.scalatest:scalatest-maven-plugin. It differs from mainstream by a single commit,
cerveada/scalatest-maven-plugin@e16f1c5,
which fixed JVM path references for forked test runs.
History:
From AbsaOSS/commons#147:
"It was done quite a while ago and I'm not sure if it's still needed. It is worth checking if
things are working fine with a mainstream branch of the scalatest." — @wajda
Why now
The JMF adoption work (#2, AbsaOSS/commons#144) rewires the JaCoCo agent argLine in the
code-coverage profile. That wiring should target one mainstream ScalaTest plugin, not a fork.
Doing this first keeps the JMF root-pom change clean and avoids carrying the fork into the new
root-pom major release.
Goal
Remove the cerveada fork from root-pom; standardize on mainstream org.scalatest:scalatest-maven-plugin.
Scope
Risks & mitigations
| Risk |
Mitigation |
| The fork's JVM-path fix is still needed on some CI setup |
The regression check above. If reproduced, raise a PR against mainstream scalatest-maven-plugin or keep a documented pin with a linked upstream issue. |
Other consumers reference com.github.cerveada directly |
Org-wide grep; call out in release notes; coordinate bumps. |
Behaviour change between cerveada 2.0.x and latest mainstream |
Diff the changelog; run the full test suites of both test consumers. |
Background
root-pom pins
com.github.cerveada:scalatest-maven-plugin:2.0.1in two places:<pluginManagement>— the version every consumer inheritscode-coverageprofile — where the JaCoCo agentargLineis wired into itcom.github.cerveada:scalatest-maven-pluginis a JitPack fork of an oldorg.scalatest:scalatest-maven-plugin. It differs from mainstream by a single commit,cerveada/scalatest-maven-plugin@e16f1c5,
which fixed JVM path references for forked test runs.
History:
org.scalatest:scalatest-maven-plugin:2.2.0(111-add-code-coverage-support commons#112, Nov 2022) and has run on it since — mainstream is proven to work for at
least one consumer.
From AbsaOSS/commons#147:
Why now
The JMF adoption work (#2, AbsaOSS/commons#144) rewires the JaCoCo agent
argLinein thecode-coverageprofile. That wiring should target one mainstream ScalaTest plugin, not a fork.Doing this first keeps the JMF root-pom change clean and avoids carrying the fork into the new
root-pom major release.
Goal
Remove the
cerveadafork from root-pom; standardize on mainstreamorg.scalatest:scalatest-maven-plugin.Scope
<pluginManagement>: replacecom.github.cerveada:scalatest-maven-plugin:2.0.1withorg.scalatest:scalatest-maven-plugin:<latest release>.code-coverageprofile: move the<argLine>wiring from thecom.github.cerveadapluginblock to the
org.scalatestone.<repository>/<pluginRepository>entry if it exists solely for this fork.non-default / multiple JDKs) and confirm the "wrong Java version" bug does not return.
mvn clean verifyandmvn clean verify -Pcode-coverageagainst at leasttwo root-pom consumers (Commons + one other Maven project).
com.github.cerveada; list affected repos.cerveadagroupId.Risks & mitigations
scalatest-maven-pluginor keep a documented pin with a linked upstream issue.com.github.cerveadadirectlycerveada2.0.x and latest mainstream