You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Oleg Kalnichevski <ol...@apache.org> on 2019/06/20 11:00:39 UTC

HttpCore 5.0-beta8 release blocked

Hi Gary

HttpCore 5.0-beta8 release has been blocked for two weeks per your
request. 

What is your plan going forward with the API renaming business?

Oleg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Re: HttpCore 5.0-beta8 release blocked

Posted by Gary Gregory <ga...@gmail.com>.
On Thu, Jun 20, 2019 at 12:41 PM Oleg Kalnichevski <ol...@apache.org> wrote:

> On Thu, 2019-06-20 at 09:32 -0400, Gary Gregory wrote:
> > Hi Oleg,
> >
> >
>
> ...
>
> > - Shouldn't Conscrypt support be in its own module to avoid Maven
> > sucking
> > in that dependency? It does not matter that it is marked as optional
> > in the
> > POM, Maven will still drag it in your project.
> >
>
> I double-checked. That certainly does not look to be the case.
>

Yes, you are correct, sorry about that.

Gary


>
> Oleg
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
>
>

Re: HttpCore 5.0-beta8 release blocked

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Thu, 2019-06-20 at 09:32 -0400, Gary Gregory wrote:
> Hi Oleg,
> 
> 

...

> - Shouldn't Conscrypt support be in its own module to avoid Maven
> sucking
> in that dependency? It does not matter that it is marked as optional
> in the
> POM, Maven will still drag it in your project.
> 

I double-checked. That certainly does not look to be the case.

Oleg



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Re: HttpCore 5.0-beta8 release blocked

Posted by Gary Gregory <ga...@gmail.com>.
Hi Oleg,

- Thank you for your patience.
- My PR is https://github.com/apache/httpcomponents-core/pull/130 and
consists of two commits (see below.) The PR was in conflict due to this
weeks changes on master and is now caught up.

- "Http2" prefixes have been renamed to "H2" such that most HTTP/2 classes
are now consistently prefixed with "H2": It is better than the mix of (1)
no prefix, (2) the "H2" prefix, and (3) the "Http2" prefix. The "h2" module
still contains types with no prefix, which I think is OK for most package
private types.
- Michael Osipov expressed concerns with the H2* names compared to the H2
database; I believe I've diffused those concerns. Michael, please reply if
I am wrong.
- Another commit addresses the inconsistency of some HTTP/1.x classes being
prefixed with  (1) no prefix, (2) the "H1" prefix, and (3) the "Http1"
prefix, by renaming "Http1" prefixes with "H1" prefixes: The idea to
provide consistency and less surprise by our nomenclature. I would prefer
to provide a consistent view of our code-base through type names. I will go
with the community choice of course, "H1*" or "Http1*" sitting next to
"H2*"?

Note that we will live with these names, basically forever, so I believe it
is important to structure and name types and modules as best we can now.

Questions:
- From Michael Osipov: "Here is even more inconsistency: the module is
called httpcore5-h2, but the package names contain http2". Suggestions?
Based on our current path, it seems we should rename either the package or
the module. We must choose be one or the other IMO. I propose to rename the
package to "h2" to match the module name.
- In the same vein as above, we
define org.apache.hc.core5.http2.ssl.ApplicationProtocols.HTTP_2 as
"HTTP_2("h2")" which is confusing to me. If we are using "h2" as the name,
then the constant should be "H2". Compare with the clear match of
ApplicationProtocols.HTTP_1_1 as HTTP_1_1("http/1.1"); in this case, I
believe "HTTP_1_1" is best since it is a 1-1 match with the underlying name.
- Some public H2-packaged types do not carry the H2 prefix, for example,
all the types in org.apache.hc.core5.http2.frame. I am happy to update my
PR with this change. Let me know. Package private types probably are OK
without the H2 prefix.
- An obvious exception to the above should be the types prefixed with
"HPack" which clearly follow the HPACK spec. Since the spec defines "HPACK"
and not "H2PACK", so we define HPackEntry and not H2PackEntry. Nothing to
do here.
- Shouldn't Conscrypt support be in its own module to avoid Maven sucking
in that dependency? It does not matter that it is marked as optional in the
POM, Maven will still drag it in your project.

There might be more, but I believe this is plenty to deal with in the
current step.

Thank you,
Gary

On Thu, Jun 20, 2019 at 7:00 AM Oleg Kalnichevski <ol...@apache.org> wrote:

> Hi Gary
>
> HttpCore 5.0-beta8 release has been blocked for two weeks per your
> request.
>
> What is your plan going forward with the API renaming business?
>
> Oleg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
>
>