Dear NetBeans developers, a pull request[1] that allows building of the Apache NetBeans code with any JDK8+ has been integrated. It unchains our source code from a strict dependency on JDK8 - feel free to use any JDK8+ to develop NetBeans.
What has happened is just a small step in a wider movement. Additional polishing, testing, improving is needed. Your help is more than welcomed. As such let me summarize the motivation and possible future steps. It was recently pointed out in a discussion [NetBeans Long Term Planning] (https://lists.apache.org/thread.html/ r6c5662649cc0736aa5317a174394189f3b833c13c34f0d9a8d986cc1%40%3Cdev.netbeans.apache.org%3E) that JDK17 LTS is around the corner and we should move the project forward. Straightforward "just drop JDK8" idea isn't getting an unisimo support, but the overall feeling seems to be that we really "should move forward". The pull request[1] is (my) intersection of possible ideas - a step forward without stretching the idea too far. It should give us more freedom and allow us to "Build with any JDK, continue to run on JDK8." That's where we are now. What milestones can lay ahead? My favorite one is to "Use JDK11 to produce Apache NetBeans convenience binaries" To get there we need more automated testing. Ideally we use JDK11 to build NetBeans bits and then run tests against that binary with JDK8. And also test with JDK11 and JDK-latest, etc. Then there are three modules[2] that don't use the `--release` flag of `javac` (the magic switch behind [1]) - currently a care must be taken to not use any JDK11 APIs - not even via accidental overloads (think of ByteBuffer[3]) - in these modules. A solution that would pick the necessary APIs from elsewhere without specifying `-bootclasspath` is very desirable. If we manage to "use JDK11 to build convenience binaries" we can think of a next step: "Require (at least) JDK11 to build NetBeans source code" This milestone would make it possible to [conditionally use JDK11 APIs] (http://wiki.apidesign.org/wiki/AlternativeImplementation) in some modules while still running on JDK8. Whether or not we pursue such milestone remains to be seen. Whatever direction our project decides to go, the PR[1] demonstrates we can move forward while respecting the past. Let's continue improving on that! -jt [1] https://github.com/apache/netbeans/pull/2761 [2] https://github.com/apache/netbeans/pull/2761/commits/ 94aebf0845eadb795e6fc8236a7d5d01f3f9c98f [3] https://stackoverflow.com/questions/61267495/exception-in-thread-main-java-lang-nosuchmethoderror-java-nio-bytebuffer-flip --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
