-1 Java 8 is also LTS and many out there are still stuck to it. I support Jarda, too.
On Wed, Apr 5, 2023 at 6:25 PM toni.ep...@eppleton.de < toni.ep...@eppleton.de> wrote: > -1 > > I agree with Jarda. Having the portability for platforms like Android is > important, and I support the proposed alternative. > > > > Von: Jaroslav Tulach <jaroslav.tul...@gmail.com> > Datum: Mittwoch, 5. April 2023 um 17:13 > An: dev <dev@netbeans.apache.org> > Betreff: Re: [Lazy Consensus] Minimum JDK build and run policy (dropping > JDK 8) > -1 > > Background: http://wiki.apidesign.org/wiki/Portability > > > Alternative: > > - I will maintain what ever needs to be maintained to keep JDK 8 CI tests > running > > - From Apache NetBeans 19, the minimum JDK required to build and run > the IDE will be JDK 11. > > - The minimum JDK to run and test the NetBeans Platform and modules up to > VSCode & Jackpot remains JDK 8. > > - Usage of JDK11, JDK17, etc. API is possible in dedicated modules via > http:// > wiki.apidesign.org/wiki/AlternativeImplementation > > > Justification: > > Writing in Java (a language designed to write once and run everywhere) > greatly > increases portability. However there is another axis hurting portability - > the > supported JDK version. Of course, should a library be widely used, it has > to > support as oldest JDK as possible. These days it is JDK8 - the primary > reason > being that Android supports JDK8 - as such, should a library aspire to be > used > on Android (as well as regular Java), it needs to stick to version eight. > > There's transitivity of non-portability - the portability of the final > application cannot be bigger than portability of the least portable library > used. This applies also to 3rd party dependencies a framework or library > has: > again their non-portability may negatively affect portability of such > framework > or library. > > Of course, writing portable libraries is harder. It requires more work from > the API author, more self-control, more suffering. However such suffering > is > justifiable. There is usually a single API writer, but there are many > users to > it. What matters is to simplify and improve experience of those API users - > own author suffering doesn't matter that much. > > > # Proposed policy > > > > * Apache NetBeans 18 will be the last release to support running the > > platform on JDK 8. > > > > * From Apache NetBeans 19, the minimum JDK required to build and run > > the IDE or platform will be JDK 11. > > > > * Future releases will take an "LTS-1" strategy for building and > > running (and CI testing) of the IDE and platform. Three JDKs will be > > supported at any one time - the current JDK, plus the previous two LTS > > releases. eg. NetBeans 20 and 21 (Nov 2023 / Feb 2024) will support > > JDK 11, 17 and 21. NetBeans 22 (May 2024) will support JDK 17, 21 and > > 22. > > > > ## Background > > > > The Apache NetBeans IDE has officially required JDK 11 to build and > > run since NetBeans 13 in March 2022. The platform (and unofficially > > the IDE) have continued to support running on JDK 8 - all modules > > requiring a higher JDK must currently be optional. Various tests have > > continued on JDK 8. > > > > This situation is causing issues as workarounds must be found for > > currently non-optional features that have dependencies or other > > requirements for running on a higher JDK (eg. Maven indexing / Lucene > > [1]). It's causing delays, complications and missed testing time in > > integration of new features (eg. problems merging support for EE 10 > > [2]). Supporting an increasing range of JDKs is causing increasing > > workload, both for people and CI. Meeting the challenges of deprecated > > (for removal) features in the JDK is also complicated by the > > additional JDK requirements. > > > > ## Notes > > > > * Apache NetBeans users will continue to be recommended to use the > > current or latest LTS JDK to run the IDE. The IDE will continue to > > support users developing projects for/with JDK 8, for as long as > > nb-javac and other dependencies allow. > > > > * This proposal specifically doesn't address when the default bytecode > > level across the codebase is increased. This can happen when required, > > but non-optional modules would be free to adopt the minimum JDK as > > they need to. > > > > * Optional modules may continue to require a runtime JDK higher than > > the minimum. Should it become necessary, build time optional modules > > might be considered - eg. a build on the minimum JDK may exclude > > modules that will not run on that JDK at runtime. > > > > * Some modules that are of independent use (eg. lookup, utilities, > > etc.) might be nominated and advertised to continue JDK 8 support for > > the time being. This is not expected to cover the runtime container as > > a whole - > https://netbeans.apache.org/tutorials/nbm-runtime-container.html > > > > * Once NetBeans 19 is released, the NetBeans 18 release branch could > > be used to backport and release JDK 8 supporting fixes, subject to any > > PMC members wanting to manage those releases. > > > > * The term "platform" is used in reference to the whole framework of > > modules that we release (eg. via Maven), not just the platform > > cluster. > > > > [1] https://github.com/apache/netbeans/pull/4999 > > [2] https://github.com/apache/netbeans/pull/4692 > > > > --------------------------------------------------------------------- > > 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 > > >