-
Notifications
You must be signed in to change notification settings - Fork 120
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
Use jackson bom to control version of all transitive jackson deps #848
Conversation
84c37ee
to
39031bf
Compare
…cies Why: Signed-off-by: Robert Young <[email protected]>
From my experience, using BOMs makes it hard to override their own transitive dependencies for example to fix CVEs. It is also not always desired to use the same Jackson versions for everything as there are many libraries using Jackson and no 100% compatibility between minor versions. So there are times when you have to use different versions (not sure the current alignment really requires it). |
Nothing to add to what Jakub said, same experience here. |
Separate from the BOM changes, am I right that the comment on databind
is rotten, and we should remove that and the |
@robobario I know I added that line (Git blames me for that) but right now even the comment is not so clear to me :-( |
Historically jackson versions have never been a problem for OAuth library so whichever one we bumped to it always worked. The specific issue here is apparently the way to prevent pulling a specific transitive version of jackson (via OAuth dependency) into the bridge build. One way to work around would be via I personally would prefer the |
I would agree but this comment "a potential Maven bug remove it as runtime if only for test" let me think we had a problem doing so. |
@robobario I am going to close this because it seems the direction is not the right one from our experience. Let me know if you want to reopen with more feedback. Thanks! |
Why:
The 0.27 dist contains a mix of jackson versions, and there is what I think is a rotten comment in the pom.xml that jackson-databind is a test only dependency when we have usages in
src/main
like src/main/java/io/strimzi/kafka/bridge/http/converter/JsonUtils.javaWe can use
jackson-bom
so everything is aligned on 2.15.2 without having to exclude transitive deps and include jackson-databind in the dependency analysis when checking for undeclared-but-used dependencies.With the change you get: