-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to sbt-scoverage 2.0.0 creates dependency conflicts #439
Comments
Hi @guizmaii, thanks for the report. Refined is for sure pulling in 1.3.0. You can see this with:
Looking at the build you can also see: So it looks like it's using 2.1.0 for Scala 3, but 1.3.0 for everything else. The last time I looked most dependencies for 2.11 and 2.12 are still on the 1.x series for scala-xml (so is scoverage for 2.12), but for 2.13 and above most things have migrated to 2.x. So I'm not 100% sure why refined hasn't done the same, and why they only target 2.x for Scala 3. |
I'll see if I can push a PR to use scala-xml 2 for Scala 2.13 in refined. Thanks @ckipp01 :) |
No problem, if you have any other issues, just report back. |
FYI the issue is fixed in |
@ckipp01 this is happening with more dependencies now, not just refined. Notably, scalatest migrated to scala-xml 2 in v3.2.11 (3.2.10 dependencies, 3.2.11 dependencies). Given scalatest is so widely used, should scoverage follow suit? On PureConfig, for now I'm probably downgrading to scalatest to 3.2.10 in order to be able to use scoverage + Scala 2.12.6, but longer term the only solution seems to be for everyone to adopt scala-xml 2. Example CI failure with newest scalatest: https://github.com/pureconfig/pureconfig/actions/runs/2724486086 |
Hey @ruippeixotog, thanks for reporting back. I still don't think this is the best choice for 2.12 to migrate to the 2 series for scala-xml. The main reason I stuck on the version I did was due to Scala itself sticking to that version for 2.12. You can see this here. If more and more people are hitting on this, then I guess it make sense to migrate, but if I'm not mistaken if we do, then we still may hit on issues the other way around with the version that scala can bring in. |
btw @ruippeixotog I did some more digging and I think we should be fine to update. I'd accept a pr to change this. |
@ckipp01 sounds good, I have just opened scoverage/scalac-scoverage-plugin#488 for this. After that you'll need to publish a new version of |
2.0.1 is published and ready to go @ruippeixotog. |
I'm seeing these errors while updating from 2.0.0 to 2.0.1:
This happens in my libraries at https://github.com/carlosedp/scalautils |
Thanks for the reply. Of course, this is exactly what I mentioned up above. We now updated to 2.x whereas before we were on 1.x. So those other libraries that are conflicting are still stuck on 1.x which isn't compatible. We're in a situation where everything either needs to stick on 1.x or 2.x. Since the 2.x train has left, we've jumped on board and there really isn't anything we can do about it. I suggest reporting this in those other places and request them to update. EDIT: Looking a bit closer at those deps that are conflicting @carlosedp, both of those libraries that are conflicting haven't been updated in years. I'd imagine you'll continually hit on more and more issues with them as the ecosystem evolves. |
You mean I don't know where those deps come from, they are not added directly by me. How can I find which plugin uses them? Going to each and looking at the deps? |
Yup exactly.
If you're using a modern sbt version, one way to do this is using the built in
This should then show you what is depending on that specific artifact. |
Nice, opened an issue over the plugin but disabled it temporarily. |
The weird thing is that refined has updated to
2.1.0
in its latest version0.9.29
:Hum, in fact they support both, depending on your Scala version:
🤔
The text was updated successfully, but these errors were encountered: