Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse.org-architecture-council] Discussing Hard Requirement for Guava 21 in Oxygen

On 09.05.17, 15:12, "eclipse.org-architecture-council-bounces@xxxxxxxxxxx on behalf of Marcel Bruch" <eclipse.org-architecture-council-bounces@xxxxxxxxxxx on behalf of marcel.bruch@xxxxxxxxxxxxxx> wrote:

    We discussed your scenarios. Please find the answers inline. To other readers: You may replace Code Recommenders with "any project that uses Guava classes in their public APIs”.
     
    > On 9. May 2017, at 11:41, Gunnar Wagenknecht <gunnar@xxxxxxxxxxxxxxx> wrote:
    > 
    > Marcel,
    > 
    > I think there is some confusion with the actual implications. It's my understanding that the proposed solution only affects the Oxygen release train *and* (more specific) is only relevant to the Oxygen release train repository and the Eclipse packages. Any commercial vendor is still able to continue shipping the specific version of Guava it prefers, as long as the projects using Guava guarantee compatibility to that version. When a commercial vendor decides that it wants to adopt Oxygen then it will need to test and may need to touch its code. Isn't that expected behavior? 
    > 
    > Please keep in mind that Eclipse API has a commitment to backwards compatibility. However, I don't think that commitment covers 3rd party API. If clients are using 3rd party API, then they need to retest and ensure that their code is working with a specific version.
    > 
    > Can you please be more specific about the expected breakage? 
    > 
    > Here in an example:
    > - Code Recommenders increase the version range to Guava [15, 22).
    > - Oxygen ships *only* Guava 21
    > - Code Recommenders Extension ABC defines a narrower dependency version range
    > - user installs Code Recommenders Extension ABC 
    > - p2 will install a lower Guava version
    > a) Extension will work as expected, Code Recommenders *and* Extension will use lower Guava version
    
    That will not happen since Equinox compute bundle wirings only once. 

This seems to be the root cause of these problems and it looks like this should be fixed in Equinox.

-Matthias


Back to the top