Really wasn’t expecting the frgaal comment to provide so much discussion.
I was more concerned about other aspects of my comments (target/source/release, multi jars, deprecated/removed apis). On Sat, Oct 9, 2021 at 12:00 PM Jeremy Cavanagh <jeremy.cavan...@orange.fr> wrote: > Hi, > > Just felt I wanted to add my two pence worth, hopefully, without > upsetting anyone. > > As far as I can see frgaal doesn't offer anything to us. It's main > purpose appears to be allowing users who are, for want of a better term, > *stuck* with JDK1.8 but would like to try some newer language features > without making a large and possibly risky investment in moving up the > JDK levels. > > If that is the case how likely are any of them going to be interested in > updated NetBeans IDEs. Do the newest versions offer those users anything > that they don't already have? > > If they aren't likely to change, why not, take the bull by the horns, > and say that after 12.6 all future versions will be built to support all > of the features of JDK17 the latest LTS version. I don't see the point > at stopping at JDK11. > > Adopting JDK17 will give you a longer time to work on the IDE with the > latest LTS version which does offer many interesting features that the > NetBeans IDE could benefit from. > > Then the NB versions <= 12.6 will only be bug fixed from proper requests > and no new features would be added. Anyone using JDKs > 1.8 should be > encouraged to use the latest versions of NetBeans. > > Well it's just a thought. But, you should try and get ahead of the game > because the same discussion will happen again "why don't we stop > supporting JDK11 and move to JDK17...". > > Regards to all, > > Jeremy > > On 09/10/2021 18:06, Ernie Rael wrote: > > Brought up fraagl to allow "any/all jdk-11 language features" NOT APIs; > > fraagl can compile new language features to only JDK 8 bytecodes. Then > > the ubiquitous JDK 8 runtime can still be used. > > > > The issues around APIs are discussed in the "[LAZY CONSENSUS] Drop > > support for building (and officially running) on JDK 8 ..." thread and > > elsewhere. > > > > -ernie > > > > On 10/9/2021 8:38 AM, Eric Bresie wrote: > > >> > >> Is this maybe a matter relating to release/source/target/bootclasspath > >> (2) > >> aspects of things? > >> > >> Would multiple release jars (3) be needed as part of this? Then version > >> specific items can be added in applicable namespace and compiled for > >> given > >> releases as needed (i.e. build steps for each supported java release > >> version)? In theory it might bloat things a little but it would extend > >> compatibility with older java for a little longer. > >> > >> Assume some of this would be considered during CI build pipeline as > where > >> somewhere. > >> > >> So from a higher level… > >> * There is netbeans source code > >> ** may/may not use newer java version APIs. > >> ** If there are new java API features used (i.e. modules, block quotes, > >> records, etc.) this adds a dependency on the given java version > >> introduced > >> during compile time > >> ** If present but used on an older version would need to bridge > >> between it > >> (i.e. if supported use it if not then need to either have a wrapper, > >> “adapter” [frgaal] means of leveraging new in an old environment, or > >> multi > >> release jar] > >> > >> * There is the java used to compile netbeans > >> ** Used to compile to byte code of a specific version > >> ** Possible to compile to older release versions > >> ** May be impacting of release/source/target/bootclasspath build/run > >> settings > >> > >> * There is the java used to run > >> ** As long as compiled to be compatible with a specific release > >> version it > >> should run. > >> ** If not compiled to be compatible, it doesn’t run (i.e. bytecode > >> compatibility issue, unavailable APIs, etc.) > >> ** My require “bridging”/“adapting” [frgaal] to run on > >> > >> * There is the java used to compile the [external] dependencies > >> ** Each external dependency has its own java compatible version and may > >> require updated dependencies (i.e. if using dependency not compiled it > >> may > >> work but if something calls from external back, there is a chance it may > >> not be compatible due to conflicting java versions) > >> > >> Eric > >> > >> References > >> (1) http://frgaal.org/ > >> (2) > >> > https://stackoverflow.com/questions/43102787/what-is-the-release-flag-in-the-java-9-compiler > >> > >> (3) https://nipafx.dev/multi-release-jars-multiple-java-versions/ > >> > >> On Thu, Oct 7, 2021 at 12:58 AM Jaroslav Tulach > >> <jaroslav.tul...@gmail.com> > >> wrote: > >> > >>> Dne sobota 2. října 2021 1:38:20 CEST, Ernie Rael napsal(a): > >>>> frgaal? > >>>> > >>>> How about allowing any/all jdk-11 language features and if a developer > >>>> needs to run on jdk8 they must use frgaal to compile NB for jdk8? > >>> Frgaal, that'd be fantastic! As far as I know the latest version > >>> supports > >>> all > >>> JDK16 features including records. Fellow developers could code with the > >>> newest > >>> language features, while still target JDK8 APIs and bytecode version. > >>> > >>> Anyway, let's go step by step. Using JDK-11 to compile NetBeans seems > to > >>> have > >>> overall support and seems to be moving in the right direction. > >>> -jt > >>> > >>> PS: Ernie, if you decide to enable Frgaal compilation (see PR-2369 for > >>> inspiration), you'll get my support. > >>> > >>>> On 9/30/2021 11:27 PM, Jaroslav Tulach wrote: > >>>>> JDK17 is out and Geertjan told me the old request is going to appear > >>>>> again. > >>>>> Let me thus review an old thread from November/February... > >>>>> > >>>>> ---------- Forwarded message --------- > >>>>> From: Jaroslav Tulach <jaroslav.tul...@gmail.com> > >>>>> Date: Feb 9 2021 > >>>>> > >>>>> Hi. > >>>>> I knew the time for a discussion like this is going to come when I > >>> wrote > >>>>> my > >>>>> "Compile with JDK-11 javac --release flag" in November. I have just > >>> been > >>>>> trying > >>>>> to find the email in archives, but no luck! I had to resend it. Here > >>> is it > >>>>> for > >>>>> your reference: > >>>>> > >>>>> https://lists.apache.org/thread.html/ > >>>>> r94d421ce16f609687c769125425b46f2322033879120b00afddbe17b%40% > >>>>> 3Cdev.netbeans.apache.org%3E > >>>>> > >>>>> I guess I have to agree with Eric, we cannot stick with JDK8 forever. > >>> We > >>>>> have > >>>>> to move on. On the other hand, as you know, I am not fan of [Big Bang > >>>>> changes] > >>>>> (http://wiki.apidesign.org/wiki/Big_Bang), as such I'd like to > >>> propose to > >>>>> move > >>>>> forward step by step: > >>>>> > >>>>> Let's require JDK11 to build NetBeans sources. > >>>>> > >>>>> The switch to JDK11 compiler doesn't mean I suggest to drop running > on > >>>>> JDK8. > >>>>> Me, my employer/gang, OracleLabs, still need to run VSNetBeans on > >>>>> JDK8. > >>>>> However we can have it and still move our source code base forward > >>> where > >>>>> needed. > >>>>> > >>>>> Matthias wrote: > >>>>>> I think Jaroslav, said, that in the old time, NetBeans was > >>>>>> > >>>>>> able to be run on JDK-1. I remember that also, but at some point in > >>> the > >>>>>> 8? cycle build requirements jumped to 8, while target version was > >>> still > >>>>>> 1.7. > >>>>> Yes, that used to be the policy. Even if we restrict the policy to > LTS > >>>>> versions of Java, JDK17 is near and we have to move forward. As such > I > >>>>> wanted > >>>>> to discuss this issue in November, 2020. I am still puzzled to > >>> understand > >>>>> where did my email disappear... > >>>>> > >>>>> Btw. there is `nb-javac` for JDK8 - related work I am involved in: > >>>>> > >>> > https://cwiki.apache.org/confluence/display/NETBEANS/Overview%3A+nb-javac > >>> > >>>>> This week we managed to make the (automatic) conversion of JDK16's > >>> javac > >>>>> to > >>>>> run on JDK8 and pass all the available tests. > >>>>> > >>>>> I really wish NetBeans to continue to run on JDK8, but I am ready to > >>> do my > >>>>> best to allow you to use the latest Java APIs and features where > >>> needed. I > >>>>> hope we find a balance between these two desires by going step by > >>>>> step. > >>>>> > >>>>> As such I repeat my suggestion: let's require JDK11 to build > NetBeans: > >>>>> https://lists.apache.org/thread.html/ > >>>>> r94d421ce16f609687c769125425b46f2322033879120b00afddbe17b%40% > >>>>> 3Cdev.netbeans.apache.org%3E > >>>>> > >>>>> > >>>>> -jt > >>>>> > >>>>> Dne pátek 5. února 2021 16:12:10 CET, Eric Bresie napsal(a): > >>>>>> Question on the Netbeans project's plan for moving forward towards > >>>>>> introducing and utilizing features with newer Java versions. > >>>>>> > >>>>>> I understand the basic expectations at present are mainly build on > >>> Java > >>>>>> 8, > >>>>>> while being possible to build (with applicable flags or jdk > settings) > >>> for > >>>>>> newer java versions. > >>>>>> > >>>>>> At what point do we need to take the plunge and start actually using > >>> some > >>>>>> of the new features for Java 9 and beyond? > >>>>>> > >>>>>> When compiling with new java, I see > >>>>>> > >>>>>> 1. references to deprecated or removed interfaces so assume > that > >>> is > >>>>>> one > >>>>>> thing that would have to be addressed. > >>>>>> 2. I see references to "source versions" (I saw one expecting > >>> server > >>>>>> version 1.4) which also show up. As I understand it, at some > >>> point > >>>>>> the > >>>>>> general behavior in some of that will be to only support a > >>>>>> few jdk > >>>>>> > >>>>>> version back so assume this might be a case for other needed changes > >>>>>> [what > >>>>>> makes it a specific version and is it as simple as changing the > >>>>>> source > >>>>>> version in the project details or build scripts]? > >>>>>> > >>>>>> Assume doing so would require changes like > >>>>>> > >>>>>> 1. Any "JDK" specific build details might have to be addressed > >>>>>> 2. Address depreciation and source version differences > >>>>>> 3. Find existing code which are candidates for refactoring with > >>> newer > >>>>>> java features involved > >>>>>> 4. Maybe leverage some JDK tools or utilizing netbeans Java > >>>>> "refactoring > >>>>> > >>>>>> hints" for suggestions (i.e. changing loops to lambdas, > utilized > >>>>>> newer > >>>>>> > >>>>>> file interfaces, etc.) > >>>>>> > >>>>>> 5. Any dependency libraries would have to be updated with > >>> compatible > >>>>>> versions. This does have the added benefit of utilizing newer > >>>>>> versions > >>>>>> > >>>>>> in these as well which may include performance, security, or bug > fits > >>>>>> benefits as well. > >>>>>> > >>>>>> 6. Update any documentation (i.e. build/runtime environments) > >>>>>> > >>>>>> Given the recent javadocs build issues requiring newer jdk, it may > >>> mean > >>>>> the > >>>>> > >>>>>> time is coming sooner rather than later. > >>>>>> > >>>>>> I know this would be a major bit of work but I wanted to raise the > >>>>> question. > >>>>> > >>>>>> Eric Bresie > >>>>>> ebre...@gmail.com > >>>> --------------------------------------------------------------------- > >>>> 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 > >>> > >>> > >>> > >>> -- > >> Eric Bresie > >> ebre...@gmail.com > >> > > > > > > --------------------------------------------------------------------- > > 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 > > > > -- Eric Bresie ebre...@gmail.com