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

Reply via email to