Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] why does egit depend on a different "version" of the commons http then default eclipse?

On Thu, Oct 1, 2020 at 6:20 PM Johan Compagner <jcompagner@xxxxxxxxx> wrote:
Hi,

if you download the default sdk that doesn't have egit you get 

org.apache.httpcomponents.httpclient_4.5.10.v20200114-1512.jar

this is the version of httpclient coming with the Orbit release R20200529191137 for Eclipse 2020-06 [1] 
This means it's outdated for Eclipse 2020-09 (JGit/EGit 5.9.0). JGit/EGit 5.8.0 was shipped with
Eclipse 2020-06 and comes with the versions which were current in the Orbit release for that
release of the simultaneous release.

and also 1 commons codec:

org.apache.commons.codec_1.13.0.v20200108-0001.jar

because that http client depends on that version

but if you get an install with egit included (like he one you get by default on eclipse)

then you suddenly have another http client besides the above one:

org.apache.httpcomponents.httpclient_4.5.10.v20200830-2311.jar

this is the version of httpclient 4.5.10 from the Orbit release R20200831200620 [2] created for Eclipse 2020-09 [3]
 
and because that one has suddenly a different dependency on codec you get also a duplicate codec jar:

org.apache.commons.codec_1.14.0.v20200818-1422.jar

this is the commons-codec version coming with Orbit release R20200831200620 [2] for Eclipse 2020-09

besides that this is all duplicate, i also have suddenly when i build our product on top of 4.17 and the latest egit a problem when launching
I think that is a bug in the launch config checker because it complains that 1 code is not there (but it is checked, everything is checked)
i can work around it a bit by unchecking certain http stuff i think (didn't test this fully)

I don't understand this paragraph
 
But can egit/jgit be fixed that they http feature is not depending on that specific http client but be more inline with the standard eclipse one?

JGit/EGit 5.9.0 do not depend on these exact versions but provide these versions in the JGit/EGit p2 repositories if you install the JGit/EGit 5.9.0
features form the EGit p2 repository and not from the release train p2 repository.
We do this to ensure a given JGit/EGit version always finds all dependencies it has if you install the features in the latest Eclipse release or in
an older one. JGit/EGit 5.9 still works on Eclipse Neon up to the current dev versions of Eclipse platform. We don't have the time to build and
test multiple versions of the JGit/EGit p2 repositories for different Eclipse releases hence we stick to the dependency versions which were current
in the Orbit release for the Eclipse platform release the respective JGit/EGit release was shipped with.

If you don't like that you can install the JGit/EGit bundles without using features and use whatever dependency versions are allowed
by the version ranges in the manifests of the jgit/egit bundles. Another option is to get them from the respective p2 repository of the
simultaneous release your are using. E.g. [4] for Eclipse 2020-06 and [5] for Eclipse 2020-09.
 

-Matthias

Back to the top