You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Eric Bresie <eb...@gmail.com> on 2022/01/16 15:25:04 UTC

How to Update Netbeans with a new JDK [Re: Excluding a module from build depending on JDK?]

Is it worth starting a confluence page to start documenting what is
necessary when upgrading between JDK versions?

Assume it would have have to consider things like:


   1. Update project property files to identify jdk requirements (i.e.
   target, resource, release)
   2. Update (ant) build scripts where applicable
   3. Update build testing to account for JDK specific testing where
   applicable
   4. Update dependencies (i.e. if compiled to a specific JDK version, may
   require updated dependencies)
   5. If JDK depreciates/removes a given API, recommend raising a issue to
   plan for eventual rework to address this (i.e. replace with new API or new
   dependencies)
   6. If any updates impact Netbeans APIs, update api version files
   7. Update documentation pages to identify compatible JDK to Netbeans
   (assume this may be implied on a given release page but not sure a
   "compatibility specific page" exists and/or is needed to track this to
   account for JDK for build and JDK supported in Netbeans,etc.)
   8. Account for nb-javac updates as applicable
   9. Update any hints/autocompletions (may be addressed by other places
   lib nb-javac) to help in adding/refactoring with new JDK support
   10. Start introducing JDK version specific functionality as needed (i.e.
   with JDK 8 add lambdas, JDK 9 add modules, records, etc.) where applicable
   (note: when introducing new feature this will impact above jdk properties
   mentioned earlier)

I'm sure there is more (including the details) but it seems a good place to
start to make doing so in the future a little easier.

Eric


Eric Bresie
ebresie@gmail.com


On Sat, Jan 15, 2022 at 4:15 AM Neil C Smith <ne...@apache.org> wrote:

> On Sat, 15 Jan 2022 at 05:25, Jaroslav Tulach <ja...@gmail.com>
> wrote:
> > Ășt 11. 1. 2022 v 13:54 odesĂ­latel Neil C Smith <ne...@apache.org>
> > > Anyone know if there's a non-hacky way to exclude a module from being
> > > included at all if building the IDE on JDK 8?
> >
> > There was an agreement to require JDK-11 to build NetBeans code.
>
> I know! :-)  However, unfortunately there are a few edge cases in
> release-related tasks, not to mention tests right now, that make
> dropping the ability to build on JDK 8 a little problematic.
>
> I was hoping to get something in NetBeans 13 that requires --release
> 11, but that will have to wait until 14 now.  Too close to branch
> anyway.
>
> > Our tests shall continue to run on JDK-8. There was no consensus to move
> > away from JDK-8 when running tests, as far as I can tell.
>
> Build on 11, test on 11, 17 and 8 - IMO in that order of priority
> though.  JDK 8 was where required and infrastructure can handle it.
> That might mean moving some identified testing to a daily thing,
> manual trigger or path based triggers.  There are ASF resource
> limitations to consider across GitHub, Travis and Jenkins here.
>
> > The ideal setup is shown at
> >
> https://github.com/apache/netbeans/blob/master/.github/workflows/ensure-jdk8.yml
>
> Yes, I've seen, and thanks for that.  Although there are other
> potential ways to do this I'm exploring too.  I started looking at
> updating testing, but waylaid by other things.  Hopefully between
> 13-rc1 and 13-rc2 we can get some additional changes in, in case
> there's anything to pick up before release.
>
> > E.g. build with JDK-11, but test on JDK-8. That's what needs to happen to
> > all CI jobs, before one can use `--release 11`.
>
> Yes, that was the thing I was hoping we had a way to short circuit.
> Which I guess we have if we did something like
> org.openide.util.enumerations and leave the jar empty.  May even be
> benefits in the short term to taking that approach.
>
> Best wishes,
>
> Neil
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
>