-
Notifications
You must be signed in to change notification settings - Fork 214
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
Truth 1.1.3 to 1.1.4 upgrade broke Paparazzi #906
Comments
Investigation: Here's a full dependency dump and diff, if anyone's interested.Truth bumped Guava 31 to 32 and this somehow also caused Paparazzi 1.2.0's 30.1-jre to become 32.0.0-android in final dependency resolution. According to docs the Android flavor is a subset of the full API, and it seems this I saw the recent Guava 31 to 32 bump for Paparazzi 1.3.0, I guess that will not solve this issue, because the problem is the jre vs android flavor selection. Guava 32-android and 32-jre are exactly the same, so the truth must lie within Truth [self-amused chuckle ☺]. Diffing Truth 1.1.3 POM vs Truth 1.1.4 POM reveals |
More investigation: Revealed that no-one depends on 32.0.0-jre, so it doesn't play in the dependency conflict resolution. According to Gradle rules (specifically "If both are non-numeric, the parts are compared alphabetically, in a case-sensitive manner: 1.A < 1.B < 1.a < 1.b") This means that #900 will actually fix this issue for Paparazzi 1.3.0. WorkaroundAdd -jre wherever paparazzi is used to emulate 1.3.0-compatible behavior:
shows that now both flavors exist with the same version, which helps select the "right" one for Paparazzi, and since Truth is built with the "lite" version, it'll also work with the full one. |
This came back in Truth 1.1.5 because Paparazzi depends on 32.0.0-jre vs Truth uses 32.0.1-android, and the higher version number wins. Looks like the workaround has to stay. |
We're seeing this even with Guava |
Interesting, thanks for the extra info! I'll have to take another look, because things have changed a bit since I investigated this issue. I think I still have some PRs which don't run because of this. How do you exclude |
Description
Truth patch update caused missing method in Paparazzi. This is mostly an FYI, as I don't think there's much you can do about this bar adding a strict clause to the published metadata.
Steps to Reproduce
See TWiStErRob/net.twisterrob.sun#256
Expected behavior
Just works.
Additional information:
Screenshots
The text was updated successfully, but these errors were encountered: