Re: nb-javac and the upcoming 12.0
Hi Geertjan, On the issue of JDK version. We have run into this problem with some of our tooling. For quite some time we were stuck on Java 6 because one of our major customers was also stuck on Java 6. Developers were not allowed to install any software on their machines. Ultimately the *only* way to solve this was to create a package with our target JRE version. I now develop and deploy with JDK 14. We offer a jar. Just yesterday we got hit by a review that took the jar and complained he couldn’t run it with JDK 8. Claim was, many of their developers were working with JDK 8 and that is the version they have on their machines. If you can’t bundle a JRE then the risk is, anyone using NB may be in the same situation. Just some food for thought. Kirk On Mon, Apr 27, 2020 at 23:47 Geertjan Wielenga wrote: > Hi all, > > We’re getting close to the 12.0 release and nb-javac won’t be available at > the time of release. What nb-javac provides is detailed elsewhere but in > summary it is a fork of the javac finetuned to the Java Editor in > NetBeans. It can’t be donated to Apache NetBeans because it is a javac fork > and hence GPL licensed, so Oracle does not want to donate it and Apache > projects can’t be released with it. > > Ultimately, we’d like to drop the need for nb-javac completely. That will > simplify things a lot. Plus, that is increasingly possible because from JDK > 9 onwards we’re able to use the javac from the JDK that NetBeans runs on > for the same purposes as nb-javac. > > And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over the > past releases to enable the vanilla javac from the JDK on which NetBeans > runs to be used increasingly better. And ultimately, of course, this should > not be based on the JDK on which NetBeans runs, but on the JDK used by a > particular project. > > Anyway, there have been one or two pull requests around the above, such as > this one: > > https://github.com/apache/netbeans/pull/2108 > > A question is what about JDK 8. My bold suggestion would be that we > explicitly tell our users that they can’t use our Java Editor if they’re > running NetBeans on JDK 8. I’m not saying that we should drop support for > JDK 8. I’m saying we should show a message that the user should switch to > the latest supported JDK for running NetBeans itself on (which of course > does not mean that a project can’t use any earlier JDK). > > Anyway, comments and thoughts welcome. > > Gj >
RE: nb-javac and the upcoming 12.0
> But there is the UI for this, correct? I mean, when one activates the Java > support (in the default build), the UI will even refuse to activate it on JDK > 8 without installing nb-javac. That's good. Sounds like there are plenty of barriers against users accidentally ending up in a suboptimal configuration without knowing why. Thanks for the explanation! (I'll continue to try to boil down and report examples that break the editor when I see exceptions... I suspect there's only a handful of cases that cause most of the problems.) -- Eirik -Original Message- From: Jan Lahoda Sent: Tuesday, April 28, 2020 3:59 PM To: Apache NetBeans Subject: Re: nb-javac and the upcoming 12.0 On Tue, Apr 28, 2020 at 7:50 PM Eirik Bakke wrote: > Sure. Though I think the user would be surprised if > editing/code-completion just silently doesn't work, when > building/running does. There needs to be a message of some sort, > recommending running the IDE on a later JDK. > > Otherwise we risk having users go "Well, I tried NetBeans once, and it > didn't work very well", or "but it doesn't do code completion like > Eclipse does", without knowing that there was a specific fixable problem. > But there is the UI for this, correct? I mean, when one activates the Java support (in the default build), the UI will even refuse to activate it on JDK 8 without installing nb-javac. And even if it gets enabled (e.g. by using a non-default build), the user will get a dialog on the first start, and then a nag in the notification area on every subsequent start. We could add e.g. a warning to all Java editors, but does not feel necessary to me - I think the UI is pushing the user in the right direction fairly strongly. On JDK 9+ (JDK 11+), the Java support can be enabled without nb-javac, and there is no dialog, but the nagging in the notification area is still there. (But the Java editor works, although not perfectly, even without nb-javac on JDK 11+.) I believe the changes done and/or proposed for 12.0 are: -in the activation dialog, if nb-javac is unchecked, and "Download and Activate" is selected (to download JavaFX), it used to download nb-javac unconditionally. I believe this is fixed by Jaroslav - if the checkbox is unchecked, nb-javac is not downloaded. Which is correct. -when the runtime JDK is JDK 14+, do not nag the user to install nb-javac. The reason is that nb-javac is still based on javac from JDK 13, and people are confused JDK 14 features are not working properly for them when running with nb-javac. This is https://github.com/apache/netbeans/pull/2108 Note that the user still can install nb-javac, just the IDE will not nag him on every start to do so. (I think it is a little too late to do something more challenging for 12.0.) The behavior of the NetBeans' Java editor without nb-javac is (I hope!) improving with every NetBeans and JDK release, it is somewhat difficult to keep track of individual changes (and some of the changes are just technical details which may e.g. sometimes lead to an exception being thrown from code completion, or something like that). AFAIK, there are currently four bigish differences in behavior of the Java editor with and without nb-javac (running on JDK 13/14): -Compile on Save does not work without nb-javac. Solvable, but requires quite some work and testing. -refactoring/find usages are much slower without nb-javac. Work on this is being done in https://github.com/apache/netbeans/pull/1890. (It includes some compromises, but hopefully acceptable. It will likely to be fast in most cases, but sometimes it may revert to being slow.) -code completion is slower (this is presumably mainly noticeable on big source files). This is because the code completion was sped up using "partial reparse" (if a file is parsed, then modified inside one method and then code completion is invoked, only the single method was reparsed, not the whole source). There is an implementation of that which does not need nb-javac, but is disabled by default, as I think it needs more testing. Should be possible to enable using command line flag -J-Djava.enable.partial.reparse=true -as the initial scan processes projects, processing of every project (more precisely source root) must fit into the memory at once when running without nb-javac. With nb-javac, the code may be processed in parts. So far, I think this is the only part that is not reasonably solvable. But I think the impact on users is likely to be low. Then there is a set of issues related to error recovery and bugs, but I don't think I have a full list of those. This is e.g. Eirik's NETBEANS-4179 - an exception for erroneous code (this specific issue should be alleviated for JDK 15, see https://bugs.openjdk.java.net/browse/JDK-8243047). Again, I hope the situation is improving th
Re: nb-javac and the upcoming 12.0
On Tue, Apr 28, 2020 at 7:50 PM Eirik Bakke wrote: > Sure. Though I think the user would be surprised if > editing/code-completion just silently doesn't work, when building/running > does. There needs to be a message of some sort, recommending running the > IDE on a later JDK. > > Otherwise we risk having users go "Well, I tried NetBeans once, and it > didn't work very well", or "but it doesn't do code completion like Eclipse > does", without knowing that there was a specific fixable problem. > But there is the UI for this, correct? I mean, when one activates the Java support (in the default build), the UI will even refuse to activate it on JDK 8 without installing nb-javac. And even if it gets enabled (e.g. by using a non-default build), the user will get a dialog on the first start, and then a nag in the notification area on every subsequent start. We could add e.g. a warning to all Java editors, but does not feel necessary to me - I think the UI is pushing the user in the right direction fairly strongly. On JDK 9+ (JDK 11+), the Java support can be enabled without nb-javac, and there is no dialog, but the nagging in the notification area is still there. (But the Java editor works, although not perfectly, even without nb-javac on JDK 11+.) I believe the changes done and/or proposed for 12.0 are: -in the activation dialog, if nb-javac is unchecked, and "Download and Activate" is selected (to download JavaFX), it used to download nb-javac unconditionally. I believe this is fixed by Jaroslav - if the checkbox is unchecked, nb-javac is not downloaded. Which is correct. -when the runtime JDK is JDK 14+, do not nag the user to install nb-javac. The reason is that nb-javac is still based on javac from JDK 13, and people are confused JDK 14 features are not working properly for them when running with nb-javac. This is https://github.com/apache/netbeans/pull/2108 Note that the user still can install nb-javac, just the IDE will not nag him on every start to do so. (I think it is a little too late to do something more challenging for 12.0.) The behavior of the NetBeans' Java editor without nb-javac is (I hope!) improving with every NetBeans and JDK release, it is somewhat difficult to keep track of individual changes (and some of the changes are just technical details which may e.g. sometimes lead to an exception being thrown from code completion, or something like that). AFAIK, there are currently four bigish differences in behavior of the Java editor with and without nb-javac (running on JDK 13/14): -Compile on Save does not work without nb-javac. Solvable, but requires quite some work and testing. -refactoring/find usages are much slower without nb-javac. Work on this is being done in https://github.com/apache/netbeans/pull/1890. (It includes some compromises, but hopefully acceptable. It will likely to be fast in most cases, but sometimes it may revert to being slow.) -code completion is slower (this is presumably mainly noticeable on big source files). This is because the code completion was sped up using "partial reparse" (if a file is parsed, then modified inside one method and then code completion is invoked, only the single method was reparsed, not the whole source). There is an implementation of that which does not need nb-javac, but is disabled by default, as I think it needs more testing. Should be possible to enable using command line flag -J-Djava.enable.partial.reparse=true -as the initial scan processes projects, processing of every project (more precisely source root) must fit into the memory at once when running without nb-javac. With nb-javac, the code may be processed in parts. So far, I think this is the only part that is not reasonably solvable. But I think the impact on users is likely to be low. Then there is a set of issues related to error recovery and bugs, but I don't think I have a full list of those. This is e.g. Eirik's NETBEANS-4179 - an exception for erroneous code (this specific issue should be alleviated for JDK 15, see https://bugs.openjdk.java.net/browse/JDK-8243047). Again, I hope the situation is improving there, release after release, but I don't expect that we will deal with all such issues soon - some such issues exist even with nb-javac. Overall, if there is a particular case that bothers you, best would be to report it (with as good reproducible case as possible), and nag me about it (unless you want to try to solve it yourself - which would be awesome, BTW). I am surely willing to look at stuff that bothers people most, if/when I can. I note that Eirik reported several bugs, which I wholeheartedly appreciate - even though I still need to look at some of them. Jan > > -- Eirik > > -Original Message- > From: Geertjan Wielenga > Sent: Tuesday, April 28, 2020 1:08 PM > To: dev@netbeans.apache.org > Subject: Re: nb-javac and
Re: nb-javac and the upcoming 12.0
Absolutely true. But at this point a new user is unlikely to get started by downloading JDK 8. Gj On Tue, 28 Apr 2020 at 19:50, Eirik Bakke wrote: > Sure. Though I think the user would be surprised if > editing/code-completion just silently doesn't work, when building/running > does. There needs to be a message of some sort, recommending running the > IDE on a later JDK. > > Otherwise we risk having users go "Well, I tried NetBeans once, and it > didn't work very well", or "but it doesn't do code completion like Eclipse > does", without knowing that there was a specific fixable problem. > > -- Eirik > > -Original Message- > From: Geertjan Wielenga > Sent: Tuesday, April 28, 2020 1:08 PM > To: dev@netbeans.apache.org > Subject: Re: nb-javac and the upcoming 12.0 > > Well, it’s specifically about editing Java source files, in a project that > uses any JDK, when NetBeans itself is running on JDK 8. Under these > conditions, nb-javac is a requirement — specifically when editing Java > source files, i.e., when using the Java editor. You can still build, test, > run, etc. > > Gj > > On Tue, 28 Apr 2020 at 18:58, Eirik Bakke wrote: > > > No, not at all! > > > > I just confused the "what JDK the IDE is running on" vs. "what JDK the > > project is compiled with" when interpreting your proposed restriction. > > > > Ideally, a warning should be shown to a user if they try to use a JDK > > 8 project while running the IDE on a JDK that does not support this. > > It's a little unintuitive to have to juggle two JDKs here, but that > > seems a reasonable price to pay if the user really wants to work with > > a project that must compile with an old JDK. > > > > -- Eirik > > > > -Original Message- > > From: Geertjan Wielenga > > Sent: Tuesday, April 28, 2020 12:53 PM > > To: dev@netbeans.apache.org > > Subject: Re: nb-javac and the upcoming 12.0 > > > > Hopefully that’s not sarcasm. :-) > > > > Gj > > > > On Tue, 28 Apr 2020 at 18:43, Eirik Bakke wrote: > > > > > Oh, now I get it. So you can still compile projects with JDK 8 and > > > use the editor, but you must run the IDE itself on JDK 14, and with > > > no nb-javac (to make JDK 8 projects work). > > > > > > That actually seems very reasonable! > > > > > > -- Eirik > > > > > > -Original Message- > > > From: Geertjan Wielenga > > > Sent: Tuesday, April 28, 2020 12:29 PM > > > To: dev@netbeans.apache.org > > > Subject: Re: nb-javac and the upcoming 12.0 > > > > > > Yes, the Java editor uses the JDK 14 javac if it runs on that JDK — > > > even if the build of a particular project uses JDK 8 or anything else. > > > > > > Gj > > > > > > On Tue, 28 Apr 2020 at 18:25, Scott Palmer wrote: > > > > > > > Just my 2 cents... I am all for NB having great first-class > > > > support for development of projects that use Java 8, but I don’t > > > > care if I’m forced to run NB itself with JDK-14. > > > > I realize that some have projects based on the NB platform that > > > > they want to run on Java 8. I think if you are in that situation, > > > > you have to decide to keep with an older version of the NB > > > > platform because we can’t hold the platform back to Java 8 > > > > compatibility > > forever. > > > > > > > > That being said, I would like to be able to change the default JDK > > > > for projects so it is a different JDK than what NB is running on. > > > > Having to go through most of my projects and explicitly flip them > > > > to use JDK > > > > 8 is a minor pain, and it also makes sharing the project with a > > > > team a little more awkward as well. They need additional > > > > configuration in NB so the right JDK can be found and we have to > > > > share NB project files that otherwise don’t need to go into the > project’s source repo. > > > > > > > > What is unclear to me, and it seems I’m not alone, is if NB is > > > > running on > > > > JDK-14 without nb-javac, what do we miss when working on a project > > > > that builds with JDK-8? Can the NB editor not use JDK-14’s javac > > > > even tough the build runs with JDK-8? > > > > > > > > Scott > > > > > > > > > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga > > > > >
RE: nb-javac and the upcoming 12.0
Sure. Though I think the user would be surprised if editing/code-completion just silently doesn't work, when building/running does. There needs to be a message of some sort, recommending running the IDE on a later JDK. Otherwise we risk having users go "Well, I tried NetBeans once, and it didn't work very well", or "but it doesn't do code completion like Eclipse does", without knowing that there was a specific fixable problem. -- Eirik -Original Message- From: Geertjan Wielenga Sent: Tuesday, April 28, 2020 1:08 PM To: dev@netbeans.apache.org Subject: Re: nb-javac and the upcoming 12.0 Well, it’s specifically about editing Java source files, in a project that uses any JDK, when NetBeans itself is running on JDK 8. Under these conditions, nb-javac is a requirement — specifically when editing Java source files, i.e., when using the Java editor. You can still build, test, run, etc. Gj On Tue, 28 Apr 2020 at 18:58, Eirik Bakke wrote: > No, not at all! > > I just confused the "what JDK the IDE is running on" vs. "what JDK the > project is compiled with" when interpreting your proposed restriction. > > Ideally, a warning should be shown to a user if they try to use a JDK > 8 project while running the IDE on a JDK that does not support this. > It's a little unintuitive to have to juggle two JDKs here, but that > seems a reasonable price to pay if the user really wants to work with > a project that must compile with an old JDK. > > -- Eirik > > -Original Message- > From: Geertjan Wielenga > Sent: Tuesday, April 28, 2020 12:53 PM > To: dev@netbeans.apache.org > Subject: Re: nb-javac and the upcoming 12.0 > > Hopefully that’s not sarcasm. :-) > > Gj > > On Tue, 28 Apr 2020 at 18:43, Eirik Bakke wrote: > > > Oh, now I get it. So you can still compile projects with JDK 8 and > > use the editor, but you must run the IDE itself on JDK 14, and with > > no nb-javac (to make JDK 8 projects work). > > > > That actually seems very reasonable! > > > > -- Eirik > > > > -Original Message- > > From: Geertjan Wielenga > > Sent: Tuesday, April 28, 2020 12:29 PM > > To: dev@netbeans.apache.org > > Subject: Re: nb-javac and the upcoming 12.0 > > > > Yes, the Java editor uses the JDK 14 javac if it runs on that JDK — > > even if the build of a particular project uses JDK 8 or anything else. > > > > Gj > > > > On Tue, 28 Apr 2020 at 18:25, Scott Palmer wrote: > > > > > Just my 2 cents... I am all for NB having great first-class > > > support for development of projects that use Java 8, but I don’t > > > care if I’m forced to run NB itself with JDK-14. > > > I realize that some have projects based on the NB platform that > > > they want to run on Java 8. I think if you are in that situation, > > > you have to decide to keep with an older version of the NB > > > platform because we can’t hold the platform back to Java 8 > > > compatibility > forever. > > > > > > That being said, I would like to be able to change the default JDK > > > for projects so it is a different JDK than what NB is running on. > > > Having to go through most of my projects and explicitly flip them > > > to use JDK > > > 8 is a minor pain, and it also makes sharing the project with a > > > team a little more awkward as well. They need additional > > > configuration in NB so the right JDK can be found and we have to > > > share NB project files that otherwise don’t need to go into the project’s > > > source repo. > > > > > > What is unclear to me, and it seems I’m not alone, is if NB is > > > running on > > > JDK-14 without nb-javac, what do we miss when working on a project > > > that builds with JDK-8? Can the NB editor not use JDK-14’s javac > > > even tough the build runs with JDK-8? > > > > > > Scott > > > > > > > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga > > > > > > > wrote: > > > > > > > > You're not going to find me arguing against good support for Java 8. > > > > However, as stated above, we anticipate that nb-javac will not > > > > be ready > > > in > > > > time for the 12.0 release. > > > > > > > > Gj > > > > > > > > On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke > wrote: > > > > > > > >>> A question is what about JDK 8. My bold suggestion would be > > > >>> that we > >
Re: nb-javac and the upcoming 12.0
Well, it’s specifically about editing Java source files, in a project that uses any JDK, when NetBeans itself is running on JDK 8. Under these conditions, nb-javac is a requirement — specifically when editing Java source files, i.e., when using the Java editor. You can still build, test, run, etc. Gj On Tue, 28 Apr 2020 at 18:58, Eirik Bakke wrote: > No, not at all! > > I just confused the "what JDK the IDE is running on" vs. "what JDK the > project is compiled with" when interpreting your proposed restriction. > > Ideally, a warning should be shown to a user if they try to use a JDK 8 > project while running the IDE on a JDK that does not support this. It's a > little unintuitive to have to juggle two JDKs here, but that seems a > reasonable price to pay if the user really wants to work with a project > that must compile with an old JDK. > > -- Eirik > > -Original Message- > From: Geertjan Wielenga > Sent: Tuesday, April 28, 2020 12:53 PM > To: dev@netbeans.apache.org > Subject: Re: nb-javac and the upcoming 12.0 > > Hopefully that’s not sarcasm. :-) > > Gj > > On Tue, 28 Apr 2020 at 18:43, Eirik Bakke wrote: > > > Oh, now I get it. So you can still compile projects with JDK 8 and use > > the editor, but you must run the IDE itself on JDK 14, and with no > > nb-javac (to make JDK 8 projects work). > > > > That actually seems very reasonable! > > > > -- Eirik > > > > -----Original Message----- > > From: Geertjan Wielenga > > Sent: Tuesday, April 28, 2020 12:29 PM > > To: dev@netbeans.apache.org > > Subject: Re: nb-javac and the upcoming 12.0 > > > > Yes, the Java editor uses the JDK 14 javac if it runs on that JDK — > > even if the build of a particular project uses JDK 8 or anything else. > > > > Gj > > > > On Tue, 28 Apr 2020 at 18:25, Scott Palmer wrote: > > > > > Just my 2 cents... I am all for NB having great first-class support > > > for development of projects that use Java 8, but I don’t care if I’m > > > forced to run NB itself with JDK-14. > > > I realize that some have projects based on the NB platform that > > > they want to run on Java 8. I think if you are in that situation, > > > you have to decide to keep with an older version of the NB platform > > > because we can’t hold the platform back to Java 8 compatibility > forever. > > > > > > That being said, I would like to be able to change the default JDK > > > for projects so it is a different JDK than what NB is running on. > > > Having to go through most of my projects and explicitly flip them to > > > use JDK > > > 8 is a minor pain, and it also makes sharing the project with a team > > > a little more awkward as well. They need additional configuration in > > > NB so the right JDK can be found and we have to share NB project > > > files that otherwise don’t need to go into the project’s source repo. > > > > > > What is unclear to me, and it seems I’m not alone, is if NB is > > > running on > > > JDK-14 without nb-javac, what do we miss when working on a project > > > that builds with JDK-8? Can the NB editor not use JDK-14’s javac > > > even tough the build runs with JDK-8? > > > > > > Scott > > > > > > > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga > > > > > > > wrote: > > > > > > > > You're not going to find me arguing against good support for Java 8. > > > > However, as stated above, we anticipate that nb-javac will not be > > > > ready > > > in > > > > time for the 12.0 release. > > > > > > > > Gj > > > > > > > > On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke > wrote: > > > > > > > >>> A question is what about JDK 8. My bold suggestion would be that > > > >>> we > > > >> explicitly tell our users that they can’t use our Java Editor if > > > >> they’re running NetBeans on JDK 8. > > > >> > > > >> I think it's too early to drop first-class support for Java 8, > > > >> for the same reasons people listed in the earlier "Pull the plug > > > >> from Java 8 in 12.1?" thread. > > > >> > > > >> Good support for Java 8 is a feature, and an important one for an > > > >> IDE > > > that > > > >> is primarily associated with the Java ecosystem. > > > >> > > > >> Eirik > > &g
RE: nb-javac and the upcoming 12.0
No, not at all! I just confused the "what JDK the IDE is running on" vs. "what JDK the project is compiled with" when interpreting your proposed restriction. Ideally, a warning should be shown to a user if they try to use a JDK 8 project while running the IDE on a JDK that does not support this. It's a little unintuitive to have to juggle two JDKs here, but that seems a reasonable price to pay if the user really wants to work with a project that must compile with an old JDK. -- Eirik -Original Message- From: Geertjan Wielenga Sent: Tuesday, April 28, 2020 12:53 PM To: dev@netbeans.apache.org Subject: Re: nb-javac and the upcoming 12.0 Hopefully that’s not sarcasm. :-) Gj On Tue, 28 Apr 2020 at 18:43, Eirik Bakke wrote: > Oh, now I get it. So you can still compile projects with JDK 8 and use > the editor, but you must run the IDE itself on JDK 14, and with no > nb-javac (to make JDK 8 projects work). > > That actually seems very reasonable! > > -- Eirik > > -Original Message- > From: Geertjan Wielenga > Sent: Tuesday, April 28, 2020 12:29 PM > To: dev@netbeans.apache.org > Subject: Re: nb-javac and the upcoming 12.0 > > Yes, the Java editor uses the JDK 14 javac if it runs on that JDK — > even if the build of a particular project uses JDK 8 or anything else. > > Gj > > On Tue, 28 Apr 2020 at 18:25, Scott Palmer wrote: > > > Just my 2 cents... I am all for NB having great first-class support > > for development of projects that use Java 8, but I don’t care if I’m > > forced to run NB itself with JDK-14. > > I realize that some have projects based on the NB platform that > > they want to run on Java 8. I think if you are in that situation, > > you have to decide to keep with an older version of the NB platform > > because we can’t hold the platform back to Java 8 compatibility forever. > > > > That being said, I would like to be able to change the default JDK > > for projects so it is a different JDK than what NB is running on. > > Having to go through most of my projects and explicitly flip them to > > use JDK > > 8 is a minor pain, and it also makes sharing the project with a team > > a little more awkward as well. They need additional configuration in > > NB so the right JDK can be found and we have to share NB project > > files that otherwise don’t need to go into the project’s source repo. > > > > What is unclear to me, and it seems I’m not alone, is if NB is > > running on > > JDK-14 without nb-javac, what do we miss when working on a project > > that builds with JDK-8? Can the NB editor not use JDK-14’s javac > > even tough the build runs with JDK-8? > > > > Scott > > > > > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga > > > > > wrote: > > > > > > You're not going to find me arguing against good support for Java 8. > > > However, as stated above, we anticipate that nb-javac will not be > > > ready > > in > > > time for the 12.0 release. > > > > > > Gj > > > > > > On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke wrote: > > > > > >>> A question is what about JDK 8. My bold suggestion would be that > > >>> we > > >> explicitly tell our users that they can’t use our Java Editor if > > >> they’re running NetBeans on JDK 8. > > >> > > >> I think it's too early to drop first-class support for Java 8, > > >> for the same reasons people listed in the earlier "Pull the plug > > >> from Java 8 in 12.1?" thread. > > >> > > >> Good support for Java 8 is a feature, and an important one for an > > >> IDE > > that > > >> is primarily associated with the Java ecosystem. > > >> > > >> Eirik > > >> > > >> -Original Message- > > >> From: Geertjan Wielenga > > >> Sent: Tuesday, April 28, 2020 2:47 AM > > >> To: dev > > >> Subject: nb-javac and the upcoming 12.0 > > >> > > >> Hi all, > > >> > > >> We’re getting close to the 12.0 release and nb-javac won’t be > > >> available > > at > > >> the time of release. What nb-javac provides is detailed elsewhere > > >> but in summary it is a fork of the javac finetuned to the Java > > >> Editor in NetBeans. It can’t be donated to Apache NetBeans > > >> because it is a javac > > fork > > >> and hence GPL licensed, so Oracle does not want to do
Re: nb-javac and the upcoming 12.0
Hopefully that’s not sarcasm. :-) Gj On Tue, 28 Apr 2020 at 18:43, Eirik Bakke wrote: > Oh, now I get it. So you can still compile projects with JDK 8 and use the > editor, but you must run the IDE itself on JDK 14, and with no nb-javac (to > make JDK 8 projects work). > > That actually seems very reasonable! > > -- Eirik > > -Original Message- > From: Geertjan Wielenga > Sent: Tuesday, April 28, 2020 12:29 PM > To: dev@netbeans.apache.org > Subject: Re: nb-javac and the upcoming 12.0 > > Yes, the Java editor uses the JDK 14 javac if it runs on that JDK — even > if the build of a particular project uses JDK 8 or anything else. > > Gj > > On Tue, 28 Apr 2020 at 18:25, Scott Palmer wrote: > > > Just my 2 cents... I am all for NB having great first-class support > > for development of projects that use Java 8, but I don’t care if I’m > > forced to run NB itself with JDK-14. > > I realize that some have projects based on the NB platform that they > > want to run on Java 8. I think if you are in that situation, you have > > to decide to keep with an older version of the NB platform because we > > can’t hold the platform back to Java 8 compatibility forever. > > > > That being said, I would like to be able to change the default JDK for > > projects so it is a different JDK than what NB is running on. Having > > to go through most of my projects and explicitly flip them to use JDK > > 8 is a minor pain, and it also makes sharing the project with a team a > > little more awkward as well. They need additional configuration in NB > > so the right JDK can be found and we have to share NB project files > > that otherwise don’t need to go into the project’s source repo. > > > > What is unclear to me, and it seems I’m not alone, is if NB is running > > on > > JDK-14 without nb-javac, what do we miss when working on a project > > that builds with JDK-8? Can the NB editor not use JDK-14’s javac even > > tough the build runs with JDK-8? > > > > Scott > > > > > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga > > > > > wrote: > > > > > > You're not going to find me arguing against good support for Java 8. > > > However, as stated above, we anticipate that nb-javac will not be > > > ready > > in > > > time for the 12.0 release. > > > > > > Gj > > > > > > On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke wrote: > > > > > >>> A question is what about JDK 8. My bold suggestion would be that > > >>> we > > >> explicitly tell our users that they can’t use our Java Editor if > > >> they’re running NetBeans on JDK 8. > > >> > > >> I think it's too early to drop first-class support for Java 8, for > > >> the same reasons people listed in the earlier "Pull the plug from > > >> Java 8 in 12.1?" thread. > > >> > > >> Good support for Java 8 is a feature, and an important one for an > > >> IDE > > that > > >> is primarily associated with the Java ecosystem. > > >> > > >> Eirik > > >> > > >> -Original Message- > > >> From: Geertjan Wielenga > > >> Sent: Tuesday, April 28, 2020 2:47 AM > > >> To: dev > > >> Subject: nb-javac and the upcoming 12.0 > > >> > > >> Hi all, > > >> > > >> We’re getting close to the 12.0 release and nb-javac won’t be > > >> available > > at > > >> the time of release. What nb-javac provides is detailed elsewhere > > >> but in summary it is a fork of the javac finetuned to the Java > > >> Editor in NetBeans. It can’t be donated to Apache NetBeans because > > >> it is a javac > > fork > > >> and hence GPL licensed, so Oracle does not want to donate it and > > >> Apache projects can’t be released with it. > > >> > > >> Ultimately, we’d like to drop the need for nb-javac completely. > > >> That > > will > > >> simplify things a lot. Plus, that is increasingly possible because > > >> from > > JDK > > >> 9 onwards we’re able to use the javac from the JDK that NetBeans > > >> runs on for the same purposes as nb-javac. > > >> > > >> And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans > > >> over > > the > > >> past releases to enable the vanilla javac from the JDK on which > > >> NetBeans runs t
RE: nb-javac and the upcoming 12.0
Oh, now I get it. So you can still compile projects with JDK 8 and use the editor, but you must run the IDE itself on JDK 14, and with no nb-javac (to make JDK 8 projects work). That actually seems very reasonable! -- Eirik -Original Message- From: Geertjan Wielenga Sent: Tuesday, April 28, 2020 12:29 PM To: dev@netbeans.apache.org Subject: Re: nb-javac and the upcoming 12.0 Yes, the Java editor uses the JDK 14 javac if it runs on that JDK — even if the build of a particular project uses JDK 8 or anything else. Gj On Tue, 28 Apr 2020 at 18:25, Scott Palmer wrote: > Just my 2 cents... I am all for NB having great first-class support > for development of projects that use Java 8, but I don’t care if I’m > forced to run NB itself with JDK-14. > I realize that some have projects based on the NB platform that they > want to run on Java 8. I think if you are in that situation, you have > to decide to keep with an older version of the NB platform because we > can’t hold the platform back to Java 8 compatibility forever. > > That being said, I would like to be able to change the default JDK for > projects so it is a different JDK than what NB is running on. Having > to go through most of my projects and explicitly flip them to use JDK > 8 is a minor pain, and it also makes sharing the project with a team a > little more awkward as well. They need additional configuration in NB > so the right JDK can be found and we have to share NB project files > that otherwise don’t need to go into the project’s source repo. > > What is unclear to me, and it seems I’m not alone, is if NB is running > on > JDK-14 without nb-javac, what do we miss when working on a project > that builds with JDK-8? Can the NB editor not use JDK-14’s javac even > tough the build runs with JDK-8? > > Scott > > > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga > > > wrote: > > > > You're not going to find me arguing against good support for Java 8. > > However, as stated above, we anticipate that nb-javac will not be > > ready > in > > time for the 12.0 release. > > > > Gj > > > > On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke wrote: > > > >>> A question is what about JDK 8. My bold suggestion would be that > >>> we > >> explicitly tell our users that they can’t use our Java Editor if > >> they’re running NetBeans on JDK 8. > >> > >> I think it's too early to drop first-class support for Java 8, for > >> the same reasons people listed in the earlier "Pull the plug from > >> Java 8 in 12.1?" thread. > >> > >> Good support for Java 8 is a feature, and an important one for an > >> IDE > that > >> is primarily associated with the Java ecosystem. > >> > >> Eirik > >> > >> -Original Message- > >> From: Geertjan Wielenga > >> Sent: Tuesday, April 28, 2020 2:47 AM > >> To: dev > >> Subject: nb-javac and the upcoming 12.0 > >> > >> Hi all, > >> > >> We’re getting close to the 12.0 release and nb-javac won’t be > >> available > at > >> the time of release. What nb-javac provides is detailed elsewhere > >> but in summary it is a fork of the javac finetuned to the Java > >> Editor in NetBeans. It can’t be donated to Apache NetBeans because > >> it is a javac > fork > >> and hence GPL licensed, so Oracle does not want to donate it and > >> Apache projects can’t be released with it. > >> > >> Ultimately, we’d like to drop the need for nb-javac completely. > >> That > will > >> simplify things a lot. Plus, that is increasingly possible because > >> from > JDK > >> 9 onwards we’re able to use the javac from the JDK that NetBeans > >> runs on for the same purposes as nb-javac. > >> > >> And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans > >> over > the > >> past releases to enable the vanilla javac from the JDK on which > >> NetBeans runs to be used increasingly better. And ultimately, of > >> course, this > should > >> not be based on the JDK on which NetBeans runs, but on the JDK used > >> by a particular project. > >> > >> Anyway, there have been one or two pull requests around the above, > >> such > as > >> this one: > >> > >> https://github.com/apache/netbeans/pull/2108 > >> > >> A question is what about JDK 8. My bold suggestion would be that we > >> explicitly tell our users that they can’t
Re: nb-javac and the upcoming 12.0
Yes, the Java editor uses the JDK 14 javac if it runs on that JDK — even if the build of a particular project uses JDK 8 or anything else. Gj On Tue, 28 Apr 2020 at 18:25, Scott Palmer wrote: > Just my 2 cents... I am all for NB having great first-class support for > development of projects that use Java 8, but I don’t care if I’m forced to > run NB itself with JDK-14. > I realize that some have projects based on the NB platform that they want > to run on Java 8. I think if you are in that situation, you have to decide > to keep with an older version of the NB platform because we can’t hold the > platform back to Java 8 compatibility forever. > > That being said, I would like to be able to change the default JDK for > projects so it is a different JDK than what NB is running on. Having to go > through most of my projects and explicitly flip them to use JDK 8 is a > minor pain, and it also makes sharing the project with a team a little more > awkward as well. They need additional configuration in NB so the right JDK > can be found and we have to share NB project files that otherwise don’t > need to go into the project’s source repo. > > What is unclear to me, and it seems I’m not alone, is if NB is running on > JDK-14 without nb-javac, what do we miss when working on a project that > builds with JDK-8? Can the NB editor not use JDK-14’s javac even tough the > build runs with JDK-8? > > Scott > > > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga > wrote: > > > > You're not going to find me arguing against good support for Java 8. > > However, as stated above, we anticipate that nb-javac will not be ready > in > > time for the 12.0 release. > > > > Gj > > > > On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke wrote: > > > >>> A question is what about JDK 8. My bold suggestion would be that we > >> explicitly tell our users that they can’t use our Java Editor if they’re > >> running NetBeans on JDK 8. > >> > >> I think it's too early to drop first-class support for Java 8, for the > >> same reasons people listed in the earlier "Pull the plug from Java 8 in > >> 12.1?" thread. > >> > >> Good support for Java 8 is a feature, and an important one for an IDE > that > >> is primarily associated with the Java ecosystem. > >> > >> Eirik > >> > >> -Original Message- > >> From: Geertjan Wielenga > >> Sent: Tuesday, April 28, 2020 2:47 AM > >> To: dev > >> Subject: nb-javac and the upcoming 12.0 > >> > >> Hi all, > >> > >> We’re getting close to the 12.0 release and nb-javac won’t be available > at > >> the time of release. What nb-javac provides is detailed elsewhere but in > >> summary it is a fork of the javac finetuned to the Java Editor in > >> NetBeans. It can’t be donated to Apache NetBeans because it is a javac > fork > >> and hence GPL licensed, so Oracle does not want to donate it and Apache > >> projects can’t be released with it. > >> > >> Ultimately, we’d like to drop the need for nb-javac completely. That > will > >> simplify things a lot. Plus, that is increasingly possible because from > JDK > >> 9 onwards we’re able to use the javac from the JDK that NetBeans runs on > >> for the same purposes as nb-javac. > >> > >> And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over > the > >> past releases to enable the vanilla javac from the JDK on which NetBeans > >> runs to be used increasingly better. And ultimately, of course, this > should > >> not be based on the JDK on which NetBeans runs, but on the JDK used by a > >> particular project. > >> > >> Anyway, there have been one or two pull requests around the above, such > as > >> this one: > >> > >> https://github.com/apache/netbeans/pull/2108 > >> > >> A question is what about JDK 8. My bold suggestion would be that we > >> explicitly tell our users that they can’t use our Java Editor if they’re > >> running NetBeans on JDK 8. I’m not saying that we should drop support > for > >> JDK 8. I’m saying we should show a message that the user should switch > to > >> the latest supported JDK for running NetBeans itself on (which of course > >> does not mean that a project can’t use any earlier JDK). > >> > >> Anyway, comments and thoughts welcome. > >> > >> Gj > >> > >> - > >> To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org > >> For additional commands, e-mail: dev-h...@netbeans.apache.org > >> > >> For further information about the NetBeans mailing lists, visit: > >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > >> > >> > >> > >> > > - > To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org > For additional commands, e-mail: dev-h...@netbeans.apache.org > > For further information about the NetBeans mailing lists, visit: > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > > > >
Re: nb-javac and the upcoming 12.0
Just my 2 cents... I am all for NB having great first-class support for development of projects that use Java 8, but I don’t care if I’m forced to run NB itself with JDK-14. I realize that some have projects based on the NB platform that they want to run on Java 8. I think if you are in that situation, you have to decide to keep with an older version of the NB platform because we can’t hold the platform back to Java 8 compatibility forever. That being said, I would like to be able to change the default JDK for projects so it is a different JDK than what NB is running on. Having to go through most of my projects and explicitly flip them to use JDK 8 is a minor pain, and it also makes sharing the project with a team a little more awkward as well. They need additional configuration in NB so the right JDK can be found and we have to share NB project files that otherwise don’t need to go into the project’s source repo. What is unclear to me, and it seems I’m not alone, is if NB is running on JDK-14 without nb-javac, what do we miss when working on a project that builds with JDK-8? Can the NB editor not use JDK-14’s javac even tough the build runs with JDK-8? Scott > On Apr 28, 2020, at 10:50 AM, Geertjan Wielenga wrote: > > You're not going to find me arguing against good support for Java 8. > However, as stated above, we anticipate that nb-javac will not be ready in > time for the 12.0 release. > > Gj > > On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke wrote: > >>> A question is what about JDK 8. My bold suggestion would be that we >> explicitly tell our users that they can’t use our Java Editor if they’re >> running NetBeans on JDK 8. >> >> I think it's too early to drop first-class support for Java 8, for the >> same reasons people listed in the earlier "Pull the plug from Java 8 in >> 12.1?" thread. >> >> Good support for Java 8 is a feature, and an important one for an IDE that >> is primarily associated with the Java ecosystem. >> >> Eirik >> >> -Original Message- >> From: Geertjan Wielenga >> Sent: Tuesday, April 28, 2020 2:47 AM >> To: dev >> Subject: nb-javac and the upcoming 12.0 >> >> Hi all, >> >> We’re getting close to the 12.0 release and nb-javac won’t be available at >> the time of release. What nb-javac provides is detailed elsewhere but in >> summary it is a fork of the javac finetuned to the Java Editor in >> NetBeans. It can’t be donated to Apache NetBeans because it is a javac fork >> and hence GPL licensed, so Oracle does not want to donate it and Apache >> projects can’t be released with it. >> >> Ultimately, we’d like to drop the need for nb-javac completely. That will >> simplify things a lot. Plus, that is increasingly possible because from JDK >> 9 onwards we’re able to use the javac from the JDK that NetBeans runs on >> for the same purposes as nb-javac. >> >> And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over the >> past releases to enable the vanilla javac from the JDK on which NetBeans >> runs to be used increasingly better. And ultimately, of course, this should >> not be based on the JDK on which NetBeans runs, but on the JDK used by a >> particular project. >> >> Anyway, there have been one or two pull requests around the above, such as >> this one: >> >> https://github.com/apache/netbeans/pull/2108 >> >> A question is what about JDK 8. My bold suggestion would be that we >> explicitly tell our users that they can’t use our Java Editor if they’re >> running NetBeans on JDK 8. I’m not saying that we should drop support for >> JDK 8. I’m saying we should show a message that the user should switch to >> the latest supported JDK for running NetBeans itself on (which of course >> does not mean that a project can’t use any earlier JDK). >> >> Anyway, comments and thoughts welcome. >> >> Gj >> >> - >> To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: dev-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> >> - To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org For additional commands, e-mail: dev-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
Re: nb-javac and the upcoming 12.0
You're not going to find me arguing against good support for Java 8. However, as stated above, we anticipate that nb-javac will not be ready in time for the 12.0 release. Gj On Tue, Apr 28, 2020 at 4:46 PM Eirik Bakke wrote: > > A question is what about JDK 8. My bold suggestion would be that we > explicitly tell our users that they can’t use our Java Editor if they’re > running NetBeans on JDK 8. > > I think it's too early to drop first-class support for Java 8, for the > same reasons people listed in the earlier "Pull the plug from Java 8 in > 12.1?" thread. > > Good support for Java 8 is a feature, and an important one for an IDE that > is primarily associated with the Java ecosystem. > > Eirik > > -Original Message- > From: Geertjan Wielenga > Sent: Tuesday, April 28, 2020 2:47 AM > To: dev > Subject: nb-javac and the upcoming 12.0 > > Hi all, > > We’re getting close to the 12.0 release and nb-javac won’t be available at > the time of release. What nb-javac provides is detailed elsewhere but in > summary it is a fork of the javac finetuned to the Java Editor in > NetBeans. It can’t be donated to Apache NetBeans because it is a javac fork > and hence GPL licensed, so Oracle does not want to donate it and Apache > projects can’t be released with it. > > Ultimately, we’d like to drop the need for nb-javac completely. That will > simplify things a lot. Plus, that is increasingly possible because from JDK > 9 onwards we’re able to use the javac from the JDK that NetBeans runs on > for the same purposes as nb-javac. > > And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over the > past releases to enable the vanilla javac from the JDK on which NetBeans > runs to be used increasingly better. And ultimately, of course, this should > not be based on the JDK on which NetBeans runs, but on the JDK used by a > particular project. > > Anyway, there have been one or two pull requests around the above, such as > this one: > > https://github.com/apache/netbeans/pull/2108 > > A question is what about JDK 8. My bold suggestion would be that we > explicitly tell our users that they can’t use our Java Editor if they’re > running NetBeans on JDK 8. I’m not saying that we should drop support for > JDK 8. I’m saying we should show a message that the user should switch to > the latest supported JDK for running NetBeans itself on (which of course > does not mean that a project can’t use any earlier JDK). > > Anyway, comments and thoughts welcome. > > Gj > > - > To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org > For additional commands, e-mail: dev-h...@netbeans.apache.org > > For further information about the NetBeans mailing lists, visit: > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > > > >
RE: nb-javac and the upcoming 12.0
> A question is what about JDK 8. My bold suggestion would be that we > explicitly tell our users that they can’t use our Java Editor if they’re > running NetBeans on JDK 8. I think it's too early to drop first-class support for Java 8, for the same reasons people listed in the earlier "Pull the plug from Java 8 in 12.1?" thread. Good support for Java 8 is a feature, and an important one for an IDE that is primarily associated with the Java ecosystem. Eirik -Original Message- From: Geertjan Wielenga Sent: Tuesday, April 28, 2020 2:47 AM To: dev Subject: nb-javac and the upcoming 12.0 Hi all, We’re getting close to the 12.0 release and nb-javac won’t be available at the time of release. What nb-javac provides is detailed elsewhere but in summary it is a fork of the javac finetuned to the Java Editor in NetBeans. It can’t be donated to Apache NetBeans because it is a javac fork and hence GPL licensed, so Oracle does not want to donate it and Apache projects can’t be released with it. Ultimately, we’d like to drop the need for nb-javac completely. That will simplify things a lot. Plus, that is increasingly possible because from JDK 9 onwards we’re able to use the javac from the JDK that NetBeans runs on for the same purposes as nb-javac. And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over the past releases to enable the vanilla javac from the JDK on which NetBeans runs to be used increasingly better. And ultimately, of course, this should not be based on the JDK on which NetBeans runs, but on the JDK used by a particular project. Anyway, there have been one or two pull requests around the above, such as this one: https://github.com/apache/netbeans/pull/2108 A question is what about JDK 8. My bold suggestion would be that we explicitly tell our users that they can’t use our Java Editor if they’re running NetBeans on JDK 8. I’m not saying that we should drop support for JDK 8. I’m saying we should show a message that the user should switch to the latest supported JDK for running NetBeans itself on (which of course does not mean that a project can’t use any earlier JDK). Anyway, comments and thoughts welcome. Gj - To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org For additional commands, e-mail: dev-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
Re: nb-javac and the upcoming 12.0
I some answers here: https://blogs.apache.org/netbeans/entry/what-s-nb-javac-in But still, according to the blog entry, if you run NB on JDK9+ and use the provided javac, you don't get all the benefits of nb-javac. I doesn't say neither what those benefits are nor if you would benefit from them if you use nb-javac with JDK9+ projects. On Tue, Apr 28, 2020 at 10:38 AM Jean-Marc Borer wrote: > Now for my understanding: if you run Netbeans on JDK9+, but your projects > are still using/running on JDK8, will you still need nb-javac for Java > editing? > > Cheers, > > JM > > On Tue, Apr 28, 2020 at 8:59 AM Benjamin Graf > wrote: > >> Hi all together, >> >> what about code building. Netbeans is still build on JDK8. Some modules >> need nb-javac for compilation and tests to work even if code is build >> with JDK8 because code does use JDK9+ API. I think most time API from >> javax.lang.model. You can increase min build JDK but it might not work >> for users using Netbeans that need JDK8. >> >> Regards, >> >> Benjamin >> >> On 28.04.2020 08:47, Geertjan Wielenga wrote: >> > Hi all, >> > >> > We’re getting close to the 12.0 release and nb-javac won’t be available >> at >> > the time of release. What nb-javac provides is detailed elsewhere but in >> > summary it is a fork of the javac finetuned to the Java Editor in >> > NetBeans. It can’t be donated to Apache NetBeans because it is a javac >> fork >> > and hence GPL licensed, so Oracle does not want to donate it and Apache >> > projects can’t be released with it. >> > >> > Ultimately, we’d like to drop the need for nb-javac completely. That >> will >> > simplify things a lot. Plus, that is increasingly possible because from >> JDK >> > 9 onwards we’re able to use the javac from the JDK that NetBeans runs on >> > for the same purposes as nb-javac. >> > >> > And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over >> the >> > past releases to enable the vanilla javac from the JDK on which NetBeans >> > runs to be used increasingly better. And ultimately, of course, this >> should >> > not be based on the JDK on which NetBeans runs, but on the JDK used by a >> > particular project. >> > >> > Anyway, there have been one or two pull requests around the above, such >> as >> > this one: >> > >> > https://github.com/apache/netbeans/pull/2108 >> > >> > A question is what about JDK 8. My bold suggestion would be that we >> > explicitly tell our users that they can’t use our Java Editor if they’re >> > running NetBeans on JDK 8. I’m not saying that we should drop support >> for >> > JDK 8. I’m saying we should show a message that the user should switch >> to >> > the latest supported JDK for running NetBeans itself on (which of course >> > does not mean that a project can’t use any earlier JDK). >> > >> > Anyway, comments and thoughts welcome. >> > >> > Gj >> > >> >>
Re: nb-javac and the upcoming 12.0
Hi, Thanks for kicking this off! :-) On Tue, 28 Apr 2020 at 07:47, Geertjan Wielenga wrote: > We’re getting close to the 12.0 release and nb-javac won’t be available at > the time of release. For clarity, we have the older nb-javac with support for JDK 13 that we've had since 11.2 updates. But we don't have an nb-javac with JDK 14 support. That should have been available by feature freeze - that was *a* reason we shifted the schedule back. As it is it looks like we might just have it by the planned release date, so even if linked into 12.0 final, it would have missed all of NetCAT. Having had the "fun" of a similar problem with 11.2, which broke some key things and required a quick 11.2 update, I for one would -1 linking it in that late. We could still push that link to nb-javac for JDK 14 after the 12.0 release, and after additional testing. That will require a fix for the third-party update centre to make it trusted and remove the internal signing - I'll test and do a PR for that in the next couple of days if no-one else gets around to it. That means that at release nb-javac in 12.0 would be limited to Java 13, so Java 14 support would require running on JDK 14 and not installing nb-javac (and us stopping the IDE nagging people about it). > Ultimately, we’d like to drop the need for nb-javac completely. ... And > ultimately, of course, this should > not be based on the JDK on which NetBeans runs, but on the JDK used by a > particular project. There was a thread about dropping nb-javac from 12.1 a little while ago. Maybe good to keep that conversation separate from the immediate 12.0 issue? And we'd need to clarify whether the second part is what we actually want to do? At 12.0 release we'd get a picture of how much people want to run on a JDK lower than they want to code against? > A question is what about JDK 8. My bold suggestion would be that we > explicitly tell our users that they can’t use our Java Editor if they’re > running NetBeans on JDK 8. Why? This was discussed in that 12.1 thread too, and somewhat controversial there, but we also discussed keeping the JDK 8 support for 12.0. I think we should - the only thing we can't do is support coding against JDK 14 while running on JDK 8? And that only, potentially, until an update is available. Best wishes, Neil - To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org For additional commands, e-mail: dev-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
Re: nb-javac and the upcoming 12.0
Isn't it possible to use old versions nb-javac (the last supported) with Java 8 (for example without support records and etc.) and otherwise (with newer version of java) use vanilla javac? On Tue, Apr 28, 2020 at 10:39 AM Jean-Marc Borer wrote: > Now for my understanding: if you run Netbeans on JDK9+, but your projects > are still using/running on JDK8, will you still need nb-javac for Java > editing? > > Cheers, > > JM > > On Tue, Apr 28, 2020 at 8:59 AM Benjamin Graf > wrote: > > > Hi all together, > > > > what about code building. Netbeans is still build on JDK8. Some modules > > need nb-javac for compilation and tests to work even if code is build > > with JDK8 because code does use JDK9+ API. I think most time API from > > javax.lang.model. You can increase min build JDK but it might not work > > for users using Netbeans that need JDK8. > > > > Regards, > > > > Benjamin > > > > On 28.04.2020 08:47, Geertjan Wielenga wrote: > > > Hi all, > > > > > > We’re getting close to the 12.0 release and nb-javac won’t be available > > at > > > the time of release. What nb-javac provides is detailed elsewhere but > in > > > summary it is a fork of the javac finetuned to the Java Editor in > > > NetBeans. It can’t be donated to Apache NetBeans because it is a javac > > fork > > > and hence GPL licensed, so Oracle does not want to donate it and Apache > > > projects can’t be released with it. > > > > > > Ultimately, we’d like to drop the need for nb-javac completely. That > will > > > simplify things a lot. Plus, that is increasingly possible because from > > JDK > > > 9 onwards we’re able to use the javac from the JDK that NetBeans runs > on > > > for the same purposes as nb-javac. > > > > > > And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over > the > > > past releases to enable the vanilla javac from the JDK on which > NetBeans > > > runs to be used increasingly better. And ultimately, of course, this > > should > > > not be based on the JDK on which NetBeans runs, but on the JDK used by > a > > > particular project. > > > > > > Anyway, there have been one or two pull requests around the above, such > > as > > > this one: > > > > > > https://github.com/apache/netbeans/pull/2108 > > > > > > A question is what about JDK 8. My bold suggestion would be that we > > > explicitly tell our users that they can’t use our Java Editor if > they’re > > > running NetBeans on JDK 8. I’m not saying that we should drop support > for > > > JDK 8. I’m saying we should show a message that the user should switch > to > > > the latest supported JDK for running NetBeans itself on (which of > course > > > does not mean that a project can’t use any earlier JDK). > > > > > > Anyway, comments and thoughts welcome. > > > > > > Gj > > > > > > > >
Re: nb-javac and the upcoming 12.0
Now for my understanding: if you run Netbeans on JDK9+, but your projects are still using/running on JDK8, will you still need nb-javac for Java editing? Cheers, JM On Tue, Apr 28, 2020 at 8:59 AM Benjamin Graf wrote: > Hi all together, > > what about code building. Netbeans is still build on JDK8. Some modules > need nb-javac for compilation and tests to work even if code is build > with JDK8 because code does use JDK9+ API. I think most time API from > javax.lang.model. You can increase min build JDK but it might not work > for users using Netbeans that need JDK8. > > Regards, > > Benjamin > > On 28.04.2020 08:47, Geertjan Wielenga wrote: > > Hi all, > > > > We’re getting close to the 12.0 release and nb-javac won’t be available > at > > the time of release. What nb-javac provides is detailed elsewhere but in > > summary it is a fork of the javac finetuned to the Java Editor in > > NetBeans. It can’t be donated to Apache NetBeans because it is a javac > fork > > and hence GPL licensed, so Oracle does not want to donate it and Apache > > projects can’t be released with it. > > > > Ultimately, we’d like to drop the need for nb-javac completely. That will > > simplify things a lot. Plus, that is increasingly possible because from > JDK > > 9 onwards we’re able to use the javac from the JDK that NetBeans runs on > > for the same purposes as nb-javac. > > > > And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over the > > past releases to enable the vanilla javac from the JDK on which NetBeans > > runs to be used increasingly better. And ultimately, of course, this > should > > not be based on the JDK on which NetBeans runs, but on the JDK used by a > > particular project. > > > > Anyway, there have been one or two pull requests around the above, such > as > > this one: > > > > https://github.com/apache/netbeans/pull/2108 > > > > A question is what about JDK 8. My bold suggestion would be that we > > explicitly tell our users that they can’t use our Java Editor if they’re > > running NetBeans on JDK 8. I’m not saying that we should drop support for > > JDK 8. I’m saying we should show a message that the user should switch to > > the latest supported JDK for running NetBeans itself on (which of course > > does not mean that a project can’t use any earlier JDK). > > > > Anyway, comments and thoughts welcome. > > > > Gj > > > >
Re: nb-javac and the upcoming 12.0
Hi all together, what about code building. Netbeans is still build on JDK8. Some modules need nb-javac for compilation and tests to work even if code is build with JDK8 because code does use JDK9+ API. I think most time API from javax.lang.model. You can increase min build JDK but it might not work for users using Netbeans that need JDK8. Regards, Benjamin On 28.04.2020 08:47, Geertjan Wielenga wrote: > Hi all, > > We’re getting close to the 12.0 release and nb-javac won’t be available at > the time of release. What nb-javac provides is detailed elsewhere but in > summary it is a fork of the javac finetuned to the Java Editor in > NetBeans. It can’t be donated to Apache NetBeans because it is a javac fork > and hence GPL licensed, so Oracle does not want to donate it and Apache > projects can’t be released with it. > > Ultimately, we’d like to drop the need for nb-javac completely. That will > simplify things a lot. Plus, that is increasingly possible because from JDK > 9 onwards we’re able to use the javac from the JDK that NetBeans runs on > for the same purposes as nb-javac. > > And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over the > past releases to enable the vanilla javac from the JDK on which NetBeans > runs to be used increasingly better. And ultimately, of course, this should > not be based on the JDK on which NetBeans runs, but on the JDK used by a > particular project. > > Anyway, there have been one or two pull requests around the above, such as > this one: > > https://github.com/apache/netbeans/pull/2108 > > A question is what about JDK 8. My bold suggestion would be that we > explicitly tell our users that they can’t use our Java Editor if they’re > running NetBeans on JDK 8. I’m not saying that we should drop support for > JDK 8. I’m saying we should show a message that the user should switch to > the latest supported JDK for running NetBeans itself on (which of course > does not mean that a project can’t use any earlier JDK). > > Anyway, comments and thoughts welcome. > > Gj > signature.asc Description: OpenPGP digital signature
nb-javac and the upcoming 12.0
Hi all, We’re getting close to the 12.0 release and nb-javac won’t be available at the time of release. What nb-javac provides is detailed elsewhere but in summary it is a fork of the javac finetuned to the Java Editor in NetBeans. It can’t be donated to Apache NetBeans because it is a javac fork and hence GPL licensed, so Oracle does not want to donate it and Apache projects can’t be released with it. Ultimately, we’d like to drop the need for nb-javac completely. That will simplify things a lot. Plus, that is increasingly possible because from JDK 9 onwards we’re able to use the javac from the JDK that NetBeans runs on for the same purposes as nb-javac. And we’ve (especially Jan Lahoda) been enhancing Apache NetBeans over the past releases to enable the vanilla javac from the JDK on which NetBeans runs to be used increasingly better. And ultimately, of course, this should not be based on the JDK on which NetBeans runs, but on the JDK used by a particular project. Anyway, there have been one or two pull requests around the above, such as this one: https://github.com/apache/netbeans/pull/2108 A question is what about JDK 8. My bold suggestion would be that we explicitly tell our users that they can’t use our Java Editor if they’re running NetBeans on JDK 8. I’m not saying that we should drop support for JDK 8. I’m saying we should show a message that the user should switch to the latest supported JDK for running NetBeans itself on (which of course does not mean that a project can’t use any earlier JDK). Anyway, comments and thoughts welcome. Gj