Skip to main content

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

(Dropped JGit as this is specific to p2/Eclipse IDE/EGit)


I investigated the resolution error as part of:
https://bugs.eclipse.org/567537

This is an issue with the metadata and PDE. The codec bundle also imports the packages it exports. Therefore the older version "stops" exporting its old packages and gets wired to the newer version of the packages. Thus, bundles depending on the old version with a hard "require that specific bundle" dependency will also get the newer version of the packages.

PDE reports this as an error during validation. However, if you launch a pure Eclipse application with such a target platform everything ends up nicely in the RESOLVED state at runtime. Thus, I believe it's a case that PDE verification does not support nicely.

-Gunnar

-- 
Gunnar Wagenknecht
gunnar@xxxxxxxxxxxxxxx, http://guw.io/


> On Oct 2, 2020, at 22:24, Matthias Sohn <matthias.sohn@xxxxxxxxx> wrote:
> 
> 
> 
> On Fri, Oct 2, 2020 at 11:56 AM Andrey Loskutov <loskutov@xxxxxx> wrote:
> See https://bugs.eclipse.org/bugs/show_bug.cgi?id=567542
>  
> Kind regards,
> Andrey Loskutov
> 
> Спасение утопающих - дело рук самих утопающих
> 
> https://www.eclipse.org/user/aloskutov
>  
>  
> Gesendet: Freitag, 02. Oktober 2020 um 11:53 Uhr
> Von: "Matthias Sohn" <matthias.sohn@xxxxxxxxx>
> An: "Johan Compagner" <jcompagner@xxxxxxxxx>
> Cc: "EGit developer discussion" <egit-dev@xxxxxxxxxxx>, "JGit Developers list" <jgit-dev@xxxxxxxxxxx>
> Betreff: Re: [egit-dev] [jgit-dev] why does egit depend on a different "version" of the commons http then default eclipse?
> On Thu, Oct 1, 2020 at 11:53 PM Johan Compagner <jcompagner@xxxxxxxxx> wrote:
>  
>  
> On Thu, 1 Oct 2020 at 22:49, Matthias Sohn <matthias.sohn@xxxxxxxxx> wrote:
> 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.
>  
> but this is not true
> at least now how eclipse works...
> just download the basic sdk:
>  
> https://download.eclipse.org/eclipse/downloads/drops4/R-4.17-202009021800/download.php?dropFile=eclipse-SDK-4.17-win32-x86_64.zip
>  
> you will see 
>  org.apache.httpcomponents.httpclient_4.5.10.v20200114-1512.jar
> and
> org.apache.commons.codec_1.13.0.v20200108-0001.jar
>  
>  
> then download the one that has egit installed by default:
>  
> https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2020-09/R/eclipse-java-2020-09-R-win32-x86_64.zip
>  
> (java release that includes egit)
> then you suddenly have in the plugins the above and:
>  
> org.apache.httpcomponents.httpclient_4.5.10.v20200830-2311.jar
> org.apache.commons.codec_1.14.0.v20200818-1422.jar
>  
> So default eclipse didn't really move forward and egit did, so now we get everything doubled
> (with the launch problem below)
>  
> Then the platform used an outdated Orbit release from the previous simultaneous release 2020-06.
>  
> 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
>  
> <noname.png>
>  
> see, the launch config has all (duplicate plugins) selected
> but the validation still says that it is not ok.
> I guess this is a bug in this validation stuff in eclipse for this launch.. (also when i try to run it warns me)
>  
>  
>  
> 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.
>  
> features always hard reference a exact version..
> thats the problem (not related to this discussion but i really don't like this behavior in eclipse)
>  
> <feature
>       id="org.eclipse.jgit.http.apache"
>       label="%featureName"
>       version="5.9.0.202009080501-r"
>       provider-name="%providerName">
>  
> has
>  
>  <plugin
>          id="org.apache.httpcomponents.httpclient"
>          download-size="1015"
>          install-size="2187"
>          version="4.5.10.v20200830-2311"
>          unpack="false"/>
>  
> so a hard version. and when using a target file you mostly really select features.
>  
>  
> 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.
>  
> right but see above
> this is not true, eclipse did not move.. eclipse has an older version
> Or i must be missing something in my 2 downloads...
>  
>  
> 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.
>  
> i will have a look if i can use this without features and purely by plugins. 
>  
> let me try to remove the dependencies from the features but add them to the p2 repository
> so that they are still available when installing from the egit update site.
> 
> Can you try building the egit p2 repository from these changes ?
> https://git.eclipse.org/r/c/jgit/jgit/+/170253
> https://git.eclipse.org/r/c/egit/egit/+/170254
> Find build instructions in the contributor guide
> https://wiki.eclipse.org/EGit/Contributor_Guide#Maven_Build
> 
> -Matthias
>  
> _______________________________________________ egit-dev mailing list egit-dev@xxxxxxxxxxx To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/egit-dev
> _______________________________________________
> egit-dev mailing list
> egit-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/egit-dev



Back to the top