Skip to content
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

Add a bundle module to bundle our client. #67

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

wang-x-xia
Copy link
Collaborator

I'm using this SDK for the Iceberg catalog.

But the Iceberg excludes Jersey 1 used in our SDK.

And I think bundle HTTP client and Jackson libraries is a good way to make our client portable.

So:

  1. I add a new module to publish a new component named object-client-bundle.
  2. I add the test task to test all UTs in the root module.
  3. I add the maven-publish plugin to publish this module which is the replacement of the deprecated maven plugin.

@twincitiesguy
Copy link
Contributor

I mentioned this to @xiaoxin-ren, but I'll post it here for posterity - I strongly recommend against publishing any kind of shaded jar. IMO, that time is better spent writing a new smart-client implementation (perhaps based on Jersey 2), and refactoring object-client to use that.

@dongyeh
Copy link
Contributor

dongyeh commented Oct 20, 2021

I mentioned this to @xiaoxin-ren, but I'll post it here for posterity - I strongly recommend against publishing any kind of shaded jar. IMO, that time is better spent writing a new smart-client implementation (perhaps based on Jersey 2), and refactoring object-client to use that.

@twincitiesguy The reason to publish a shaded jar is because of a business requirement between ECS and the opensource community. Considering the time to refactor smart-client with Jersey 2 would be quite long, we decided to use this short-term workaround in recent releases. Once moving to Jersey 2, we can follow the normal procedure and the shaded jar will be no longer needed.

2. Simplify publish setup in bundle module.
@wang-x-xia
Copy link
Collaborator Author

I mentioned this to @xiaoxin-ren, but I'll post it here for posterity - I strongly recommend against publishing any kind of shaded jar. IMO, that time is better spent writing a new smart-client implementation (perhaps based on Jersey 2), and refactoring object-client to use that.

@twincitiesguy , @dongyeh

In my opinion, the shaded jar can simplify the dependency management for client libraries in the big data platforms.

Such as https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bundle.

The packaged HTTP client and JSON libraries shouldn't open to users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants