Re: Planning the Release and Building of Turbine Core v5.2 Component and Required Fulcrum / Parent Components / Update / Questions

Jeffery Painter <[email protected]> Sun, 19 Feb 2023 09:50:23 -0500
Newsgroups gmane.comp.jakarta.turbine.devel
Message-ID <[email protected]>
Hi Georg,

Sorry - work/life and I am back in school (again) doing a master's 
degree (finally in CompSci!), so my time has been pretty limited. If 
there is anything specific I can help with, please let me know and will 
try to find some time in the coming weeks.


-

Jeff



On 2/17/23 09:33, Georg Kallidis wrote:
> Hi all again,
>
> although a RC of Turbine would currently contain some more changes, I am
> not sure enough, what to do next.
>
> 1) I might be wrong. Reading about JDK 20^1 as the upcoming Java release
> (current in release candidate status) I would almost strongly suggest to
> proceed to this release rather than just set jdk 11 as lowest supported
> level considering, that
>
> - Turbine's active community is quite small scale now, we are not able to
> release one major release more than once in a year or two.
> - To set the lower level to a recent Java version might be restrictive
> using incompatible source code with a Java 20-binary that could not be
> executed in any previous Java environments.
> - On the other side, the current Turbine 5.1 release is expected to work
> at least until JDK 20 (TODO test it! I did some checks in JDK 17).
> - If we want to use all the new features, and we are not able to support
> multiple branches we just have to set the higher level, why not the
> newest?
> (I am remembering that Jeffery already voted for the newest version last
> year.)
> - Java 20 has some substantial changes and seems to me closing up some
> long awaited changes (Project loom e.g.) and I personally hope, that this
> will be a good level to keep for a couple of Java releases as the bottom
> line (may be I am too confident here).
> - We would thereby actively support (suggest/recommend) upgrading to Java
> 20 level using Turbine (we might even consider to take part in Outreach
> programm https://wiki.openjdk.org/display/quality/Quality+Outreach later).
>
> As a caveat, more work has to be done then, and a release might be ready
> only at the end of the year.
>
> 2) At the moment at least 5 Fulcrum components need to be released, but
> change is not very substantial. Nevertheless each of them requires a
> release + voting process. The effort for those small changes seems to me -
> quite extensive. And it seems to me, that there is a way to do a bundled
> release. We didn't do this before, but
> https://gitbox.apache.org/repos/asf/turbine-fulcrum-build.git
> is a pom module (group-id: org.apache.turbine, articaft-id: fulcrum)
> containing all currently Fulcrums in development. Might we decide to set
> it up as a releaseable component?
>
> Currently version is 1, but if we set version e.g. to 5 or 5.2-SNAPSHOT it
> would be aligned to the Turbine version and high enou, as of course all
> Fulcrum modules have to share the version, currently in the range of 1.0.5
> and 2.2 (to be checked). We have at the moment 15 Fulcrum components (with
> JSON and security modules 3 or 4 more), some very small (the size of a
> binary is between 15kb and the biggest Security Torque has without javadoc
> 573kb. Turbine uses about 16 Fulcrum components and if we have a release
> of a bulk Fulcrum component the size would not change very much.
>
> 3) Should we also support SBOM generation (e.g. with
> cyclonedx-maven-plugin like Apache Commons or spdx)? This would go to the
> parent module and we might think about updating the version from
> 12-SNAPSHOT to 13-SNAPSHOT or even 20-SNAPSHOT..
>
> 4) How should we decide? If there are no divergent views at the end of the
> discussion, we might just hopefully proceed in consent. Nevertheless we
> could do a vote ..
>
> I'll be waiting for your opinion!
>
>
> With best regards,
> Georg
>
> ^1  You might've read this as well:
> https://lists.apache.org/thread/l405tg3fnv0md3hxplv57hq665znbq8z
>
>
>
> Von:    "Georg Kallidis" <[email protected]>
> An:     Turbine <[email protected]>
> Datum:  10.01.2023 11:59
> Betreff:        Planning the Release and Building of Turbine Core v5.2
> Component and Required Fulcrum / Parent Components
>
>
>
> Hi all,
>
> happy New Year!
>
> I think, it's time to prepare a Turbine Core release 5.2.
>
> There is some experimental stuff in it, notabely DateTimeFormatterService,
>
> but a couple of tests exist and it seems to be ready to a certain degree.
> Nevertheless Turbine Core does currently depend on five Fulcrum components
>
> in state SNAPSHOT (testcontainer, intake, parser, security, yaafi) +
> parent pom in SNAPSHOT.
> We would have to first release the parent component v12-SNAPSHOT, if we
> want to update the minimal setting to Java 11 or revert the settings to
> the published version 11 in the new releases.
>
> Overview of Fulcrum dependencies in Turbine 5.2-SNAPSHOT:
>
> | name | version | last release | changes (commit for git diff) | remarks
> |
> | testcontainer | 1.0.10-SNAPSHOT | end of 2020 |
> 7d2f264371ec9d62d885212f1ef18c8b228bf650 | mostly cleanup and dependency
> updates
> | intake | 2.0.1-SNAPSHOT | beginning of 2019 |
> 44f7d9492d98c4e95d06a3da3380f7bf892bc26c | more complete test
> configuration
> | parser | 2.0.2-SNAPSHOT | end of 2019 |
> 4df41f39b79827927256343f2652b078f6bb04f4 | mostly cleanup and dependency
> updates
> | security | 2.1.1-SNAPSHOT | end of 2021 |
> cacbef75a874c4ab489ed76489a1235b885b5f97 | some Java 8/11 optimizations
> TODO Should we remove hibernate, as we are not able to follow security
> updates and update hibernate to a current version? |
> | yaafi | 1.0.9-SNAPSHOT | end of 2018 |
> a931f52fbfca71c0a4a0f72ce8bc82e1ead80065 | mostly cleanup of tests and
> dependency updates
>
> What's your opinion? Do you agree? Did I miss something ?
>
> Should we wait and integrate / work on some important stuff? Should we
> just skip some Fulcrum updates? That is e.g. revert some dependencies in
> Turbine Core v5.2-SNAPSHOT (e.g. if we do not want the Java 11 baseline
> now in the new releases, we do not need parent 12)?
>
> Should we proceed and start with the release bundles as set out (that is
> as release first parent, then Fulcrum components and last Turbine-Core) ?
>
> Thanks!
>
> Best regards,
>
> Georg
>
>
>