Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Guava 32.0.1+ #2101

Closed
cdietrich opened this issue Sep 21, 2022 · 16 comments
Closed

Update to Guava 32.0.1+ #2101

cdietrich opened this issue Sep 21, 2022 · 16 comments
Assignees
Labels
Milestone

Comments

@cdietrich
Copy link
Contributor

No description provided.

This was referenced Sep 21, 2022
@cdietrich
Copy link
Contributor Author

Blocked by no new guice version

@cdietrich
Copy link
Contributor Author

Meanwhile Guava 32 is released.
unclear if there will be new guice using it

@cherylking
Copy link

I just received a CVE alert (CVE-2023-2976) related to the use of guava-30.1-jre in this artifact and the recommendation is to move to guava-32.0.1-jre. Should I open a new issue for this? Looks like there has not been much progress on this current issue for upgrading to 31.1.

Screenshot 2023-06-15 at 10 36 28 AM

Screenshot 2023-06-15 at 10 36 38 AM

@cdietrich
Copy link
Contributor Author

cdietrich commented Jun 15, 2023

there is already

#2101

this needs to be done together with

#2056

so far i got ZERO feedback or testing feedback on that one.
nor did i get any help or contributions ...

@cdietrich
Copy link
Contributor Author

@merks @HannesWell you looked into new guice and guava from maven-orbit pov
what is the state of the investigations with the transitive guava dependencies there?

@cdietrich
Copy link
Contributor Author

@cherylking btw you use lsp4j. current lsp4j versions no longer have a guava dependency

@merks
Copy link
Contributor

merks commented Jun 15, 2023

@cdietrich
Copy link
Contributor Author

I am asking for the p2 side of things.
I assume guice uses guava 31

@cdietrich
Copy link
Contributor Author

it has

Import-Package: com.google.common.base;version="31.0",com.google.commo
n.cache;version="31.0",com.google.common.collect;version="31.0",com.g
oogle.common.primitives;version="31.0",com.google.errorprone.annotati
ons;resolution:=optional,jakarta.inject;version="2.0",org.aopalliance
.intercept,sun.misc

so i assume it works (did not test with tycho)
so adding guice 7 might do the trick.

but i also assume we then need to go the screw you backwards compatibility route cause of javax/jakarta.inject
dependency

@szarnekow @LorenzoBettini any opinions?

@cdietrich cdietrich changed the title Update to Guava 31.1 Update to Guava 31.1+ Jun 15, 2023
@cherylking
Copy link

cherylking commented Jun 15, 2023

@cherylking btw you use lsp4j. current lsp4j versions no longer have a guava dependency

Ooh...good to know. Which version do I need to update to in order to not have the guava dependency? Is it 0.21.0 with PR 529?

@cdietrich
Copy link
Contributor Author

yes 0.21.0 is fine for lsp4j

@cdietrich
Copy link
Contributor Author

more experiments with that on https://github.com/eclipse/xtext/compare/cd_testg32guice7

@HannesWell
Copy link
Contributor

I am asking for the p2 side of things. I assume guice uses guava 31

Yes it does as you already ask in their GH issues and they said that they don't plan to upgrade since one can use newer versions by corresponding build-tool configuration (google/guice#1642 (comment)).

But luckily Guice only has a lower bound specified for the guava packages, so one can use any version from 31 onwards.

so i assume it works (did not test with tycho)
so adding guice 7 might do the trick.

I assume that as well and AFAIK Guice uses Guava only internally so class-space consistency should not be an issue.
FYI Guice 6 has the same lower bound for Guava as Guice 7 (i.e. Guava 31), so you could also use Guice 6 as minimum requirement.
If possible I would make Guice 6 the lower bound for XText but would widen the version range to also allow Guice 7, then provide Guice 6 in XText's repo. But if users want to use newer versions they can just include them in their TP.

but i also assume we then need to go the screw you backwards compatibility route cause of javax/jakarta.inject
dependency

At least from a Eclipse-Platforms POV I try to support both javax.inject as well as jakarta.inject when adding support for that.
If you are interested: eclipse-platform/eclipse.platform.releng.aggregator#1056

But as said in #2668 personally I have no need for backwards compatibility as long as other SimRel projects like Xcore can follow.

@cdietrich
Copy link
Contributor Author

@merks where can i find the target file for https://download.eclipse.org/oomph/simrel-orbit/2023-09

@merks
Copy link
Contributor

merks commented Jun 16, 2023

I'm very busy migrating Oomph to GitHub. The new location is here:

https://github.com/eclipse-oomph/oomph.incubator/blob/master/maven/tp/Maven.target

@cdietrich cdietrich changed the title Update to Guava 31.1+ Update to Guava 32.0.1+ Jun 20, 2023
@cdietrich cdietrich self-assigned this Jun 20, 2023
@cdietrich cdietrich added this to the Release_2.32 milestone Jun 20, 2023
cdietrich added a commit that referenced this issue Jun 25, 2023
Signed-off-by: ChUpdate to Guice 7 and Guava 32
cdietrich added a commit that referenced this issue Jun 25, 2023
Signed-off-by: ChUpdate to Guice 7 and Guava 32
@cdietrich
Copy link
Contributor Author

Fixed in 2.32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants