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



Reply via email to