-
Notifications
You must be signed in to change notification settings - Fork 822
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 JDK version requirement warning #6054
Conversation
oh yeah I forgot that this will also cause all tests to fail which can't run on JDK 11 yet (#4904) |
I'd planned to look at a similar change before NB19, but was going to start a discussion because of the potential test issues! 😄 One answer might be to add a boolean system property |
18b0995
to
9a32103
Compare
... and, sorry, -0.5 to the update just added - whatever the right way to switch this is, I think it needs to be external logic not internal (whether that be system property, environment variable, or something else). |
The problem with flags is that they become cheat codes for running NB on unsupported configs. But I can change it to a property since it isn't working anyway. We should remove this once tests are fixed. |
We have the system property |
let me think about this a bit. The netbeans.full.hack property isn't set everywhere, for example if I run as a sidenote: |
42cc59d
to
7c98c0c
Compare
updated to |
That is literally what I'm suggesting though! 😄 Bear in mind I was originally in the "raise the default bytecode level across the codebase" camp! But what we agreed was that we'd raise bytecode level as and when necessary. I'm sure @matthiasblaesing made a comment about lower level things like We won't support the runtime container on JDK 8 from NB19, and on JDK 11 from NB22. This code should by default error out at those levels with those releases. But, that doesn't mean we will bump the bytecode level of That's my 2c on approach to this anyway - allows opt in for tests and any other nefarious purpose. PS. I'm also against requiring |
I don't advise doing this. NB either runs on JDK 8 or it doesn't. Adding a flag which can be used in production to run on unsupported/untested platforms doesn't sound like a good idea to me.
The fullhack flag shouldn't be used in production (and in my opinion also not for manual tests, or tests where it is not needed). Turning off requirements checks should also not be done in production. I too am not a fan of the flag itself, but it does overlap somewhat with the "disable requirement checks for testing purposes" usecase. |
7c98c0c
to
19b8c03
Compare
If it was aimed at IDE users I might agree with you, but this is about the core of the platform, and I'm thinking of IDE and platform developers. And primarily for development and testing time purposes, given we'll be bumping this up again to Java 17 in the next 12 months. If a platform developer really wanted to ship something in production with this flag that's their call - it's a bad idea, we obviously don't support that, but they should be grown up enough to understand the ramifications and make that call for themselves. Same as other flags that have no place in production code. Shipping an IDE that requires a bunch of |
19b8c03
to
3d5456c
Compare
should be working now. The e.g https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/ninja_syntax-1.7.2.tar.gz edit: looks like Uni Linz is online again |
@mbien current changes look good to me at a glance. Are you ready to move this out of draft? I really think this should be in NB19! |
- NetBeans requires JDK 11 to run - disable check for tests
3d5456c
to
d55be1a
Compare
@neilcsmith-net renamed a method to make it clearer what it does. Ready to merge i think. |
@matthiasblaesing @neilcsmith-net everyone ok with this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks sane to me.
as previously discussed in #5852 (comment), NetBeans needs to inform the user if the runtime JDK does not meet the requirements. The current warning instructed the user to install Java 7, which is a bit outdated.