Sergey Chernov created HTTPCLIENT-1985:
------------------------------------------
Summary: Single version for httpcore, httpclient, httpasyncclient
Key: HTTPCLIENT-1985
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1985
Project: HttpComponents HttpClient
Issue Type: Wish
Components: HttpClient (async), HttpClient (classic)
Affects Versions: 5.0 Beta4
Reporter: Sergey Chernov
Probably this topic was discussed in the mailing list, but I could not find it.
Anyway, the problem is that there is at least three repos with 3 groups of
artifacts: core, client, asyncclient, each group has its own version.
The site instruction says: just import
"org.apache.httpcomponents:httpclient:${httpclient.version}" and be happy
(simplified).
But in fact in a complicated project with big count of dependencies including
dozens of artifacts, there can easily be a jar hell with incompatible versions
of artifacts.
If you are good with maven, you understand the power of dependencyManagement or
even have a spring-boot-dependencies parent
https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-dependencies/pom.xml
for the project.
Which version of httpasyncclient should you choose if you already have
httpclient of version A and httpcore of version B (that can vary in different
modules of the multi-module maven project)?
You have to find a compatible version with core or update everything. Again,
you have to understand all these details or just voodoo unless success (that
can break application runtime of course).
It's hard to imagine how many applications and developers suffered because of
it.
I suppose the main reason for this decision was not to release the artifact
that is not updated. But it brings more evil, than good.
Whatever, I hoped that new generation of the http client will unite all three
repos to one with single version. Like kotlin, spring-framework, spring-boot or
netty. But it's not.
Why? It's not yet too late before the client 5 is released.
I bet spring-boot developers will support this idea :D
Sorry, if it was discussed in the mailing lists or if I should post it there.
Please let me know what you think.
Thanks in any case.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]