[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cross-project-issues-dev] httpclient5/jna5 vs. httpclient45/jna45 in Eclipse and Simrel
|
Hi Folks,
An update: There has not been progress on the TBD items described in
my 5/13 note below, so ECF will be contributing an updated httpclient
4.5 filetransfer provider to Platform for RC1 next week. For
explanation and details see [1].
Scott
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=566100#c27
On 5/13/2021 5:22 PM, Scott Lewis wrote:
Howdy,
Some time ago, ECF was requested to update to use
httpclient/httpcomponents 5 rather than 4.5 [1], so that JNA 5 could
be used rather than JNA 4.5.
For context, ECF filetransfer depends on 3 apache bundles from
Orbit: org.apache.httpcomponents.httpclient 4.5.10,
org.apache.httpcomponents.httpcore 4.4.12 and
org.apache.httpcomponents.httpclient.win 4.5.10. The
o.a.httpcomponents.httpclient.win jar is the one that has the
dependency on JNA 4.5. The others do not. I am not the author of
the ECF code that uses httpcomponents4.5.win...rather Carsten Reckord
and company contributed this. It requires a specific proxy
environment with win32 just to test.
[1] led to [2]. [2] requests that ECF move to httpclient5, so that
the httpcomponents4.5 dependency on JNA 4.5 could be eliminated (as
httpclient5.win depends upon JNA 5). I've done the work to move the
bulk of the ECF source code over to httpclient5 as reported on [2].
However, as described in comment [3], there remain two things to be
done that I cannot do:
1) Get the httpcomponents5.win jar into Orbit as a properly formed
bundle so we can consume it for step 2. Currently at maven central
[4] 5.0.2 version is currently just a jar (no bundle meta-data).
2) Write/contribute a httpclient5.win32 version of ECF provider code
that uses this apache client5.win jar. Since the package naming of
httpclient5.win has changed, this can be used with the existing
httpclient45.win32 provider. Although I expect this to be
straightforward for Carsten or others given the existing
httpclient45.win32 source [5] and his familiarity with that code, it
has to actually be tested in the appropriate proxy environment.
I don't have the Orbit rights, or resources to do 1, nor the resources
or environment (testing) to do 2.
My question to all: Is there enough desire and resources for the
above two things to happen in time for 2021-06? If so, how and who?
If these cannot be made to happen then ECF will contribute an updated
httpclient45 version, but it will *still* depend upon/require JNA 4.5
be present for the 4.5.10 version of
org.apache.httpcomponents.httpclient.win. I don't know if this is a
problem or not (multiple versions of JNA in platform?).
Two additional things:
a) I see that at maven central httpclient 5 is up to 5.1.0. The only
version of httpclient 5 in Orbit currently is 5.0.2 (excepting
client5.win...which isn't there at all as described above).
b) Up to now we've had a convention that all simrel projects use the
same version of httpclient...as the simrel had some unexplained
problems with dependency confusion with multiple versions of
httpclient in the simrel repo. If the we are going to continue to
have this restriction, and ECF moves to httpclient5 for 2021-06 (1 and
2 get done, etc), then this would imply that *all* simrel consumers of
httpclient would have to move to httpclient5. This is a much bigger
deal since httpclient5 broke backward compatibility by renaming
packages so all the sources that use httpclient apis would have to be
recompiled (at least).
If the answer to the 2021-06 question is 'yes' then all this has to
happen pretty fast...as the platform API freeze is end of May, we
should almost certainly do some testing before the freeze, and I'm
resource limited.
For specific contributions and discussion please go to [2].
Scott
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=565796
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=566100
[3] https://bugs.eclipse.org/bugs/show_bug.cgi?id=566100#c22
[4]
https://search.maven.org/artifact/org.apache.httpcomponents.client5/httpclient5-win/5.0.2/jar
[5]
https://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient45.win32
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev