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

[java][apache-httpclient] update httpclient dependency to the latest 5.x #14673

Merged
merged 4 commits into from
Feb 15, 2023

Conversation

andrevegas
Copy link
Contributor

@andrevegas andrevegas commented Feb 11, 2023

To close #14672

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    For Windows users, please run the script in Git BASH.
  • In case you are adding a new generator, run the following additional script :
    ./bin/utils/ensure-up-to-date.sh
    
    Commit all changed files.
  • File the PR against the correct branch: master (6.3.0) (minor release - breaking changes with fallbacks), 7.0.x (breaking changes without fallbacks)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

@andrevegas andrevegas marked this pull request as ready for review February 11, 2023 07:03
@andrevegas
Copy link
Contributor Author

@wing328
Copy link
Member

wing328 commented Feb 11, 2023

@andrevegas thanks for the PR. What about updating the existing apache-httpclient to 5.x version instead of adding another library?

@andrevegas
Copy link
Contributor Author

Hi @wing328, sure that's definitely a feasible option and happy to adjust the PR towards that.
I'm not familiar with the project and best ways to contribute to it, so I took a quick look around and saw that some parallel versions/impl were kept i.e jersey 2 & 3 or retrofit 1 & 2. So I thought that would make sense to have same approach for apache httpclient 4 & 5.
Please let me know best way to proceed.
Cheers.

@wing328
Copy link
Member

wing328 commented Feb 11, 2023

how urgent do you need the httpclient 5.x support?

if it's not urgent, we can target 7.0.0 (to be released in 3 to 5 months from now).

@wing328
Copy link
Member

wing328 commented Feb 11, 2023

4.5.14 - Nov 30, 2022
4.5.13 - Oct 06, 2020

These are the release dates of the 4.x version.

I prefer update apache-httpclient to use 5.x

@andrevegas
Copy link
Contributor Author

andrevegas commented Feb 12, 2023

how urgent do you need the httpclient 5.x support?

@wing328 Ideally we need'd need that before end of the month (before our next release), but I understand that may not be possible based on this project timeline.
I'm happy to use a snapshot/intermediate dependency version if the PR builds also generate the artifacts.

I will update the PR/branch to replace the version 4 with the 5 instead.

@wing328
Copy link
Member

wing328 commented Feb 13, 2023

From the CI: https://github.com/OpenAPITools/openapi-generator/actions/runs/4158656772/jobs/7196209435

looks like the sample is not yet up-to-date. can you please update the samples when you've time?

@wing328
Copy link
Member

wing328 commented Feb 13, 2023

overall it looks good 👍

@andrevegas
Copy link
Contributor Author

@wing328 done. I had run generate-samples only for the apache-httpclient config yaml, didn't notice the echo-api also was related to apache http-client.
I think now should be ok.

Can you pls share some light on next steps? Would you be able to merge/incorporate this change/enhancement straight away? Or it goes into some sort of release schedule?

Thanks.

@wing328 wing328 changed the title #14672 - adding generator with apache http client 5 [java][apache-httpclient] update httpclient dependency to the latest 5.x Feb 15, 2023
@wing328
Copy link
Member

wing328 commented Feb 15, 2023

LGTM. Let's include this in the upcoming v6.4.0 release.

Thanks for the PR.

@wing328 wing328 merged commit d7edbad into OpenAPITools:master Feb 15, 2023
@madorb
Copy link
Contributor

madorb commented Aug 11, 2023

secret breaking change :|

Updating the library causes generation to break between 6.3.0 and 6.4.0 for any applications that do any customization of the generated library.

Spring Framework changed the default Apache HttpClient implementation between 5.x and 6.x. Having this change completely separate from that is a real bummer, this really should have been handled as a separate library. It doesn't make sense to me to upgrade major breaking versions, but instead to handle this as is already done for Jersey and support 1.x and 2.x etc.

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

Successfully merging this pull request may close these issues.

[REQ] Java API client apache httpclient 5
3 participants