Code changes required after JDK-8291473

Filip Krakowski filip.krakowski at hhu.de
Thu Aug 4 19:08:22 UTC 2022


Hi Maurizio,

I like the idea of having just "main" and "jdkN" as branches. Another 
idea I could think of would be to drop "main" as well and just use 
"jdkN" branches (making the current GA'ed JDK or the latest JDK the 
default branch at GitHub) for each available JDK and create binaries 
based on tags. For example, once "jdk19" gets GA'ed it would receive the 
tag "19.0.0" and if a patch has to be introduced in "jdk18" and "jdk19", 
both branches could be updated and tagged with "18.0.1" and "19.0.1" 
respectively. This in turn would trigger a GitHub Action (or some 
external pipeline), which would create both binaries "jextract-18.0.1" 
and "jextract-19.0.1". Each branch would therefore only produce binaries 
when it receives a new tag. Could this work?

Best regards,
Filip

On 04.08.22 20:40, Maurizio Cimadamore wrote:
>
> On 04/08/2022 19:17, Filip Krakowski wrote:
>> Hi Maurizio,
>>
>>> When JDK N is GA'ed, we do two things:
>>>
>>> * we "freeze" the contents of the "main" branch into a branch called 
>>> jdkN-1
>>> * we move "next" into "main" (so we'll start generating binary 
>>> snapshot that refer to the latest GA'ed JDK release).
>> if I understand it correctly, the "next" branch would be the branch 
>> for the next JDK waiting to be GA'ed and "main" would hold the 
>> currently GA'ed JDK (generating binary snapshots)? If yes, wouldn't 
>> the same problem reappear once development for JDK 21 starts? "next" 
>> would be pointing to JDK 20 (the next version to be GA'ed) and there 
>> would be no place for JDK 21.
>
> Let's say the last GA'ed release is 26.
>
> Then, the "main" branch will point at jextract for 26.
>
> There will also be branches for 25, 24, 23, ....
>
> And the "next" branch will at an experimental version of jextract 
> which works with 27.
>
> What you say is true, though - there is a lag between when JDK N + 1 
> is created and worked upon and when JDK N is GA'ed. In this temporal 
> interval (which is where we are now, and lasts for about 3 months).
>
> Another option, which is perhaps simpler, is just to have "main" and 
> "jdkN" branches.
>
> When JDK N is created, we also create corresponding branch on jextract.
>
> The "main" branch is only updated when a new JDK N is GA'ed (by 
> copying contents from the already existing JDK N branch).
>
> Maurizio
>
>>
>> Best regards,
>> Filip
>>
>>



More information about the jextract-dev mailing list