You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Michael Bien <mb...@gmail.com> on 2022/01/18 20:21:54 UTC

nb-javac and timing

Hello Everyone,

since 17.0.2 was just released I wondered if the release timing could be 
adjusted a little in future so that we can add the latest javac to NB. 
(esp once auto-nb-javac is up and running)

JDK updates can happen in the months 1, 4, 7, 10. GA happen in 3 or 9.

NB schedule is 2, 5, 8, 11. So all we have to do is feature feeze a week 
later and we can grab the latest javac if my calculations are correct :)

(or we ignore all this and release an update via plugin portal?)

regards,

michael


---------------------------------------------------------------------
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




Re: nb-javac and timing

Posted by Michael Bien <mb...@gmail.com>.
On 30.01.22 17:26, Jaroslav Tulach wrote:
>> the schedule lets NB systematically lack one update release behind.
> I don't think that is a real problem.  Unless there is a specific NetBeans bug
> that requires update of JDK's javac, we don't have to be "at the tip". Most of
> the bugfixes backported to 17.0.x version aren't going to affect user experience
> at all - 99.9% percent of Java developers are unlikely to notice a difference.

yes - most likely. Although 17.0.2 fixes a few NPEs, the conditions for 
their occurrence are fairly specific. There is also the option to turn 
nb-javac off for the 0.1% while using the latest JDK 17 update release. 
At the time i wrote the mail i wasn't sure if its still possible after 
the changes in NB 13 (but i tested it and it worked great).

> We have to make sure NetBeans 14 stay close to the most recent major version
> (which we shall be able to as https://github.com/JaroslavTulach/nb-javac/pull/
> 2 has already been integrated).
yep saw that nb-javac is already ready for JDK 18 - great job.

-mbien


---------------------------------------------------------------------
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




Re: nb-javac and timing

Posted by Jaroslav Tulach <ja...@gmail.com>.
> the schedule lets NB systematically lack one update release behind.

I don't think that is a real problem.  Unless there is a specific NetBeans bug 
that requires update of JDK's javac, we don't have to be "at the tip". Most of 
the bugfixes backported to 17.0.x version aren't going to affect user experience 
at all - 99.9% percent of Java developers are unlikely to notice a difference.

We have to make sure NetBeans 14 stay close to the most recent major version 
(which we shall be able to as https://github.com/JaroslavTulach/nb-javac/pull/
2 has already been integrated). 

-jt

Dne neděle 23. ledna 2022 11:33:49 CET, Michael Bien napsal(a):
> On 23.01.22 09:22, Jaroslav Tulach wrote:
> > Dne úterý 18. ledna 2022 21:21:54 CET, Michael Bien napsal(a):
> >> Hello Everyone,
> >> 
> >> since 17.0.2 was just released
> > 
> > Do you want to generate a new version of nb-javac binary? Create a PR for
> > https://github.com/JaroslavTulach/nb-javac/
> > 
> > -jt
> 
> NB is basically in rc 2 by now, I am pretty sure its too late for that
> (which was the point of the mail btw).
> 
> (generating nb-javac from jdk-17.0.2+8 seems to be working fine though,
> no changes required from master beside the property file as far as I can
> tell - but i lack experience there and i ran no other tests beside the
> test task)
> 
> the schedule lets NB systematically lack one update release behind.
> 
> javac 18.0.1 would be released during NB 14 rc phase which means that NB
> will probably ship with javac 18+35.
> 
> -mbien





---------------------------------------------------------------------
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




Re: nb-javac and timing

Posted by Neil C Smith <ne...@apache.org>.
On Mon, 24 Jan 2022 at 11:23, Michael Bien <mb...@gmail.com> wrote:
> the nb-javac dependency is rather special since all java features are
> built around it + it is a compiler (!).

Yes, of course! :-)

> Having an editor using a different compiler (or version) than your build
> is not a optimal situation. NB is getting closer and closer to be able
> to use the JDK's compiler

True.  Although also not having a single local project set to use the
JDK the IDE is running on, it's perhaps less of a concern for me.  I'm
still interested in Jan's work on
https://github.com/apache/netbeans/pull/1475 .. but that's a
digression ..

> I haven't tested it if its still possible with NB 13 after the
> changes we made)

I've tested with JDK 17, but not with an 18 EA yet.  Please do so!  We
should make sure that's possible before 13 is ready for release.

> my point exactly. That is why i don't want to add it now so late in the
> RC phase

And my point is that delaying freeze a week, as you suggested, might
not make a lot of difference to that.  I'm certainly not against it,
but having already dealt with fallout of delayed nb-javac integration
numerous times, whether it lands in the week before freeze or the week
after makes little difference in practice.  We'd probably need more of
a shift.

We did *try* setting a target for the old manual patched release to
land at least two weeks prior to freeze.

> I did not ask for someone else to update it!

No, I did!  In the sense that it's not an Apache project or something
that the Apache project releases.  We can pick up the changes as and
when, but we don't (directly) have any control of schedule, or how
timely they're available.

> NB 14 will have it worse since experience shows that there are
> significantly more changes between GA and update 1 which follows one
> month after it.

We can always, if need be, make an nb-javac update to releases.  We've
done this before, even with the old method of packaging it, which was
a bit ugly!  If we push back too much though, we also delay how
quickly we can have a release with JDK 18 support?!

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




Re: nb-javac and timing

Posted by Michael Bien <mb...@gmail.com>.
On 24.01.22 11:31, Neil C Smith wrote:
> On Sun, 23 Jan 2022 at 11:54, Michael Bien <mb...@gmail.com> wrote:
>> i don't think it matters at all what it fixes because the latest update
>> release is the best available version of that branch.
> I've been stung by too many regressions in bug fix updates to believe
> that updating dependencies is entirely risk free!  Including in
> nb-javac incidentally, although that should be far less likely to
> happen now I hope.
>
> So, to me it comes down to weighing that risk and work involved
> against the fixes and impact on NetBeans itself.  If there was no
> benefit at all (which is not what I'm saying), why do it?

the nb-javac dependency is rather special since all java features are 
built around it + it is a compiler (!).

Having an editor using a different compiler (or version) than your build 
is not a optimal situation. NB is getting closer and closer to be able 
to use the JDK's compiler (thats why i am also hoping that NB can one 
day turn nb-javac off if the JDK is recent - but that is a different 
topic, I haven't tested it if its still possible with NB 13 after the 
changes we made)

regarding regressions:

my point exactly. That is why i don't want to add it now so late in the 
RC phase (but if anyone wants to do it, feel free to do so, diff below). 
That is also why i wrote the mail. Dep updates this significant should 
be made before rcs start. I did not ask for someone else to update it! I 
pointed out that there will be a javac update release during the rc 
phase _every_ time if we don't change anything.

NB 14 will have it worse since experience shows that there are 
significantly more changes between GA and update 1 which follows one 
month after it. Update 2 of JDK 17 is the best case scenario changeset wise.

do we want to:

- adjust the release dates a little so that we can add the latest javac 
before rc in future

- or go through the trouble of last minute inclusions, risk assessments 
and all the unfun parts of sw dev and try to include it anyway during rc 
phase

- or live with the fact that NB will lack one update release behind 
every release



diff --git 
a/make/langtools/netbeans/nb-javac/nbproject/project.properties 
b/make/langtools/netbeans/nb-javac/nbproject/project.properties
index d7aef9a..b501da6 100644
--- a/make/langtools/netbeans/nb-javac/nbproject/project.properties
+++ b/make/langtools/netbeans/nb-javac/nbproject/project.properties
@@ -1,6 +1,5 @@
-
-jdk.git.url=https://github.com/openjdk/jdk
-jdk.git.commit=jdk-18+25
+jdk.git.url=https://github.com/openjdk/jdk17u/
+jdk.git.commit=jdk-17.0.2+8
  nb-javac-ver=${jdk.git.commit}


the PR was not the problem since nb-javac is already ready for JDK 18 
thanks to Jaroslav's heroic efforts.


-mbien


---------------------------------------------------------------------
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




Re: nb-javac and timing

Posted by Neil C Smith <ne...@apache.org>.
On Sun, 23 Jan 2022 at 11:54, Michael Bien <mb...@gmail.com> wrote:
> i don't think it matters at all what it fixes because the latest update
> release is the best available version of that branch.

I've been stung by too many regressions in bug fix updates to believe
that updating dependencies is entirely risk free!  Including in
nb-javac incidentally, although that should be far less likely to
happen now I hope.

So, to me it comes down to weighing that risk and work involved
against the fixes and impact on NetBeans itself.  If there was no
benefit at all (which is not what I'm saying), why do it?

If you (or anyone else) thinks this needs to go in NB13, there's
nothing stopping you following Jaroslav's instructions to trigger an
update, getting it released and opening a PR against delivery.  There
is still time to get this in and tested before release.

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




Re: nb-javac and timing

Posted by Michael Bien <mb...@gmail.com>.
On 23.01.22 12:07, Neil C Smith wrote:
> On Sun, 23 Jan 2022, 10:35 Michael Bien, <mb...@gmail.com> wrote:
>
>> On 23.01.22 09:22, Jaroslav Tulach wrote:
>>> Dne úterý 18. ledna 2022 21:21:54 CET, Michael Bien napsal(a):
>>>> Hello Everyone,
>>>>
>>>> since 17.0.2 was just released
>>> Do you want to generate a new version of nb-javac binary? Create a PR for
>>> https://github.com/JaroslavTulach/nb-javac/
>>>
>>> -jt
>>>
>> NB is basically in rc 2 by now, I am pretty sure its too late for that
>> (which was the point of the mail btw).
>>
> No it isn't if there's a reason to include. We've done later! What's it fix
> that affects NetBeans? How serious? That assessment should be done for any
> third party dependency bug fix update, before or after release branching,
> IMO.
>
> Best wishes,
>
> Neil
>
i don't think it matters at all what it fixes because the latest update 
release is the best available version of that branch.

but there you go:

JDK-8261088     4     Repeatable annotations without @Target cannot have 
containers that target module declarations     tools / javac     0
JDK-8262095     3     NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke 
getThrownTypes because tree.meth.type is null     tools / javac     0
JDK-8266239     5     Some duplicated javac command-line options have 
repeated effect     tools / javac     0
JDK-8268885     3     duplicate checkcast when destination type is not 
first type of intersection type     tools / javac     0
JDK-8268894     3     forged ASTs can provoke an AIOOBE at 
com.sun.tools.javac.jvm.ClassWriter::writePosition     tools / javac     0
JDK-8269150     2     UnicodeReader not translating \u005c\\u005d to \\] 
     tools / javac     0
JDK-8269113     3     Javac throws when compiling switch (null)     
tools / javac     0
JDK-8269656     4     The test 
test/langtools/tools/javac/versions/Versions.java has duplicate test 
cycles     tools / javac     0
JDK-8271254     3     javac generates unreachable code when using empty 
semicolon statement     tools / javac     0
JDK-8273234     3     extended 'for' with expression of type tvar causes 
the compiler to crash     tools / javac     0
JDK-8273361     3     InfoOptsTest is failing in tier1     tools / javac 
     0
JDK-8273408     4     java.lang.AssertionError: typeSig ERROR on 
generated class property of record     tools / javac     0
JDK-8274347     3     Passing a *nested* switch expression as a 
parameter causes an NPE during compile     tools / javac     0
JDK-8274942     3     AssertionError at 
jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)     
tools / javac     0
JDK-8275302     3     unexpected compiler error: cast, intersection 
types and sealed     tools / javac

(thanks foojay)


-mbien


---------------------------------------------------------------------
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




Re: nb-javac and timing

Posted by Neil C Smith <ne...@apache.org>.
On Sun, 23 Jan 2022, 10:35 Michael Bien, <mb...@gmail.com> wrote:

> On 23.01.22 09:22, Jaroslav Tulach wrote:
> > Dne úterý 18. ledna 2022 21:21:54 CET, Michael Bien napsal(a):
> >> Hello Everyone,
> >>
> >> since 17.0.2 was just released
> > Do you want to generate a new version of nb-javac binary? Create a PR for
> > https://github.com/JaroslavTulach/nb-javac/
> >
> > -jt
> >
> NB is basically in rc 2 by now, I am pretty sure its too late for that
> (which was the point of the mail btw).
>

No it isn't if there's a reason to include. We've done later! What's it fix
that affects NetBeans? How serious? That assessment should be done for any
third party dependency bug fix update, before or after release branching,
IMO.

Best wishes,

Neil

Re: nb-javac and timing

Posted by Michael Bien <mb...@gmail.com>.
On 23.01.22 09:22, Jaroslav Tulach wrote:
> Dne úterý 18. ledna 2022 21:21:54 CET, Michael Bien napsal(a):
>> Hello Everyone,
>>
>> since 17.0.2 was just released
> Do you want to generate a new version of nb-javac binary? Create a PR for
> https://github.com/JaroslavTulach/nb-javac/
>
> -jt
>
NB is basically in rc 2 by now, I am pretty sure its too late for that 
(which was the point of the mail btw).

(generating nb-javac from jdk-17.0.2+8 seems to be working fine though, 
no changes required from master beside the property file as far as I can 
tell - but i lack experience there and i ran no other tests beside the 
test task)

the schedule lets NB systematically lack one update release behind.

javac 18.0.1 would be released during NB 14 rc phase which means that NB 
will probably ship with javac 18+35.

-mbien


---------------------------------------------------------------------
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




Re: nb-javac and timing

Posted by Jaroslav Tulach <ja...@gmail.com>.
Dne úterý 18. ledna 2022 21:21:54 CET, Michael Bien napsal(a):
> Hello Everyone,
> 
> since 17.0.2 was just released 

Do you want to generate a new version of nb-javac binary? Create a PR for 
https://github.com/JaroslavTulach/nb-javac/

-jt




---------------------------------------------------------------------
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




Re: nb-javac and timing

Posted by Neil C Smith <ne...@apache.org>.
On Tue, 18 Jan 2022 at 20:23, Michael Bien <mb...@gmail.com> wrote:
> since 17.0.2 was just released I wondered if the release timing could be
> adjusted a little in future so that we can add the latest javac to NB.
> (esp once auto-nb-javac is up and running)
>
> JDK updates can happen in the months 1, 4, 7, 10. GA happen in 3 or 9.
>
> NB schedule is 2, 5, 8, 11. So all we have to do is feature feeze a week
> later and we can grab the latest javac if my calculations are correct :)

The schedule was initially written with JDK releases in mind.
Originally it was a month earlier all around, so 4 and 10, with the
aim of tying release candidates, and testing of them, to JDK releases.
Aside from the fact that no-one wanted to do releases over Xmas and
New Year for some reason(!), another reason for pushing back a month
was because nb-javac was never ready on time.  When the schedule was
originally written, there was more of a plan to move away from it.

We could shift around again, certainly, if we need to.  But automatic
or not, nb-java scheduling and releasing is still not in our control
anyway.  Also, kind of by definition, it's not a feature release.
IMO, whether it's before or after our feature freeze, the assessment
should be on whether it has fixes we want to pick up?  The risk vs
benefit questions are similar whether it lands just before rc1 or rc2?

> (or we ignore all this and release an update via plugin portal?)

It would be via the distribution update centre rather than plugin
portal, which is a little convoluted a process right now, but doable.
Easing release updates is something else that could be worth putting
time into.

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