scalatest / scalatestplus-mockito

ScalaTest + JMock provides integration support between ScalaTest and Mockito.
Apache License 2.0
15 stars 11 forks source link

Release consistent artifact names #35

Open seveneves opened 1 month ago

seveneves commented 1 month ago

Artifact name of the release library contains the version of Mockito, for example, "org.scalatestplus" %% "mockito-5-12".

Such an approach, while useful to not enforce updates of Mockito upon users of scalatestplus, does impact bots, i.e., Renovate Bot in my case. It will not update to the latest scalatestplus/mockito because I have the artifact ID specified as mockito-3-4, so I have to manually update the artifact ID for a new version to be identified. I don't think Renovate Bot can automatically combine artifacts as "org.scalatestplus" %% "mockito-*" to recognize that they are actually the same.

Also, having the artifact ID follow the version breaks any evictions with transitive dependencies, and one can end up with two versions of "org.scalatestplus" %% "mockito-5-12" and "org.scalatestplus" %% "mockito-3-4" if somehow they are defined in transitive dependencies.

I may suggest also releasing a new artifact called "org.scalatestplus" %% "mockito" or "org.scalatestplus" %% "mockito-latest" that has a consistent artifact ID but can have a newer version of Mockito in transitive dependencies. This can be done along with "mockito-5-12" artifacts.

This will allow users to choose what approach to take: mockito-5-12 if one needs a concrete version of Mockito or mockito-latest if one does not.

I would suggest doing the same for all projects in scalatestplus.

Thank you!

cheeseng commented 1 month ago

@seveneves I like the idea of mockito-latest, @bvenners what do you think? If you ok the idea I can release *-latest for all the scalatestplus artifacts.