-
Notifications
You must be signed in to change notification settings - Fork 61
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
[CAMPAIGN] Remove jackson-databind and jackson-annotations from build.gradle since these dependencies are now coming from core #191
Comments
Some projects have other Jackson dependencies that are not one of these two. Most extensions may have, for example, Is there any way for a separate project's See here for a potential idea. |
Another option for synchronizing versions is |
|
@penghuo The security plugin and all native plugins/modules that used jackson-databind and jackson-annotations would fail |
@ryanbogan got you. thanks. |
@dbwiddis I believe this is already happening in some of the plugins. In the core repo, we have a For example, this is the line that security was using before to directly depend on jackson. The |
Indeed it does look very widespread. For example, the alerting plugin does what I suggested here: force "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${versions.jackson}" Would it make sense to expand this campaign to recommend all repos switch to this versioning to prevent future breakage? I commented in a PR elsewhere for |
@dbwiddis Given the 2.5 deadline for this campaign, I think it would be better to do a separate campaign if we want to make that big of a change. |
@ryanbogan correct me if i am wrong.
OpenSearch exclude resolveableCompileOnly depedencies from runtimeClasspath when zip plugin
|
I'm not experienced with the inner workings of the security plugin, but there was an issue raised by them and this solution fixed it. @cwperks you raised the PR to fix the issue, thoughts on this? |
@penghuo @ryanbogan Thank you for sharing the Its possible that when The workflow downloads minified opensearch using I removed the Edit: I tested to see if security zip would include |
@cwperks Thank you for the additional insight. What is the best way for plugins to know if they need to make this change? |
If they encounter the same jarHell issue then removing the direct dependencies is a workaround. Since updated core artifacts are available, the workaround to remove the direct dependencies in plugins may not be necessary since the OpenSearch build system will prevent the jar from being included in the plugin zip on assembly. |
After further discussion with @cwperks , there can still be issues when the version of the plugin does not match the version from core. Therefore, all plugins still need to remove any dependency they have in |
We will create a new campaign to to remove jackson-databind and jackson-annotations completely from every plugin repo instead of only from build.gradle (as called out in this issue). @ryanbogan please create a new campaign issue once you are ready. thanks |
jackson-databind and jackson-annotations were added as api dependencies in
server
of opensearch core. Therefore, all plugins now have these as transitive dependencies. Plugins that currently consume these dependencies directly will break while building unless the direct dependencies are removed. If your plugin does not consume jackson-databind or jackson-annotations directly, feel free to close the related issue in your plugin's repository.Example of solution in security plugin: opensearch-project/security#2325
The text was updated successfully, but these errors were encountered: