Provide a shaded jar to avoid dependencies issues
sbailliez opened this issue · 7 comments
@therve I'm opening this again as a follow up to #893 as this has been incorrectly resolved as a standalone jar without shading, so the problem remains as it does not solve compatibility issues between implementation specific libs used by datadog that could conflict with a project one.
Is your feature request related to a problem? Please describe.
Datadog api client depends on popular third-party libraries that are fast moving and which implementation may conflict with the one of the application it needs to be integrated with. Clashes are often exacerbated by excessive transitive dependencies issues.
Describe the solution you'd like
Provide a shaded/standalone jar that is self contained with no dependencies (except for the api interfaces needed)
Examples:
- glassfish jersey is repackaging asm and guava
- uber jvm profile is relocating all dependencies. https://github.com/uber-common/jvm-profiler/blob/master/pom.xml
- aws sdk is relocating dependencies. https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-bundle/pom.xml
See reasoning https://aws.amazon.com/blogs/developer/java-sdk-bundle/
Describe alternatives you've considered
-
Add a lengthy list of exclusions to the datadog-api-client and hope for the best that the glassfish client and jackson code in use will be compatible with the one used in the application
-
Fork the datadog-api-client code and maintain it to be compatible
None of those solution are adequate for increased adoption of the datadog-api-client library across a wide range of applications and benefit from any improvement of the project in a safe way.
Thanks for your report, sorry I misunderstood the original request. We'll look into it.
Thanks for your contribution!
This issue has been automatically marked as stale because it has not had activity in the last 30 days. Note that the issue will not be automatically closed, but this notification will remind us to investigate why there's been inactivity. Thank you for participating in the Datadog open source community.
If you would like this issue to remain open:
-
Verify that you can still reproduce the issue in the latest version of this project.
-
Comment that the issue is still reproducible and include updated details requested in the issue template.
Any possibility to get this prioritized? We are staying away from this client for now because of the dependencies.
Yes! Thank you!
Released 1.6.0 with the new jar, let us know if that works for you. Thanks.