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]

Reply via email to