-
Notifications
You must be signed in to change notification settings - Fork 194
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
Require Java 17 to run Tycho #1365
Conversation
7d791a5
to
793338d
Compare
20956b4
to
dfb5a4d
Compare
@laeubi Any idea about CiFriendlyVersionsTest failures? I don't see how they can be related with Java 17 switch. |
Only idea would be to run the test locally (not as an integration test) and look for unusual output ... e.g. for the error:
one might look at what is generated instead ... maybe there is a message in the log, maybe a warning that something has changed due to the updated project settings? |
I have compile locally and the problem is that the This component is listed in Its just hard to find out anything as "maven" and "java 17" are to general terms and all results map to user problems. I hope this helps looking into it, to debug you can do:
|
I could workaround the issue by using
instead of
butwe should really find out why this do not work Some documentation https://maven.apache.org/maven-jsr330.html |
My gut feeling points me in the direction of dependency issue. I'll try to look into it later today. |
Also https://maven.apache.org/maven-jsr330.html says that sisu-maven-plugin has to be used but I don't see it there . |
I have no clue, I can only tell that in both cases the required file is generated, and as this is done at build-time I can't guess why it should make a difference at runtime, so for me the only difference seem the java-class version here. |
Alright I tried using
in |
Are the two tycho-build jars identical when build with Java 11 and 17? |
I cant find any obvious difference: tycho-build-3.0.0-SNAPSHOT_11.zip The only change I do is in this single module (all else is compiled with java 17) and I always run the build with Java 17 ...
|
cfc330c
to
98aec65
Compare
Worst case we can make tycho-build be java 11 bytecode. |
I think this could work, I still wonder if it makes sense to move do Java 17 if maven self has issues with java 17 :-\ |
Until someone moves, no issue will be discovered or fixed. That's the world we live in. I've went through this when tycho was failing to even run on Java 11, it was a tough time getting things to run on modular VM and no waiting helped even a slightly. So someone has to make a move for the whole ecosystem to progress. E.g. if tm4e/m2e hasn't moved eclipse-jdt/eclipse.jdt.core@36ac8f4 wouldn't have happened and we would still be waiting for things to "improve". |
Problem is just that if we have some code requiring java 11 then, so I think we should stell get an idea what component is the problem here and how it could be fixed for future release. So any idea? Is it guice? or eclipse-sisu? |
At least google/guice#1529 seems to point to guice. |
This one indicates that asm might have an influence here? google/guice#1521 as far as I can see guice 4.1.2 is used by maven what might contain outdated asm? @akurtakov as you are the Java 17 evangelist here, would you like to bring the issue to the maven-dev list and/or bugtracker? As far as I can see maven itself test for 8/11/17 so it is a bit strange and we probably doing something wrong here? |
@michael-o can you probably help with this? |
It looks like Java 17 support comes with Guice 5.1.0: https://github.com/google/guice/wiki/Guice510 while Maven 3.8.5 and 3.8.6 includes Guice 4.2.2. |
3.9.0 contains 5.1.0 |
I'll do the chnage to component. |
@akurtakov I'll backport that if thats ok? |
Please do, thanks! |
Is there any plan for a release of 3.9.0?
I just wanted to note that JSR-330+Sisu Guice is the recommended approach over plexus actually. |
OK, interesting and I like the idea of supporting JSR-330 in general; but the lack of forward compatibility with newer Java version makes Guice actually not so cool as it seems. Plexus is actually more powerful than Guice on that matter; and the fact that Java releases are speeding up, forward compatibility with upcoming Java version may become high priority. |
No description provided.