On Mon, 2 Aug 2021 at 16:52, Gilles Sadowski <gillese...@gmail.com> wrote:

> Le lun. 2 août 2021 à 17:29, Gary Gregory <garydgreg...@gmail.com> a
> écrit :
> >
> > IMO make Java 8 the platform requirement.
>
> +0.5 (if the cause is not obvious).
>
> [I don't think that we'll get complaints from people running on Java 1.6
> or 1.7 (?).]
>

A checkout of the previous release tag RNG_1_3 shows a requirement for
Maven 3.3.9. It uses commons parent 49.

A checkout of release tag RNG_1_2 shows a requirement for Maven 3.1.1. It
uses commons parent 47.

If RNG_1_3 is changed to parent 48 it still has the issue. A change to
parent 47 fixes it. So some upgrade of parent from 47 to 48 brings in a
dependency on a plugin that requires Maven 3.3.9, and with this Java 7 is
required for the build. So the last release was technically incorrect as a
source distribution that can be built by the platform it targets. This
stems from using an old version of Java as the target while trying to use
more up-to-date build tools and a lack of a CI environment to test the
build on the target platform.

I've built a version map for the project when using both parents. There are
23 plugins that change versions from CP 47 to 48. I do not feel inclined to
find which one is the issue.

Rolling back to parent 47 for the current code does appear to fix the
requirement for Maven 3.3.9. I have not done a full build dryRun but
the version checks are OK.

Since Java 1.6 is not openly supported [1] I think moving the build to Java
1.7 (still supported until 2022) should suffice for this release. I am
going to update the code to Java 1.7 and all the plugins to recommended
versions. The SonarCloud analysis should pick up all places where Java 1.7
code constructs should be used (e.g. diamond operator). These can be fixed
before releasing the code.

An update to Java 1.8 can be done for the next release (1.5) allowing some
time to be taken to integrate features of Java 1.8 into the code. It would
also allow an update to JUnit 5 where the surefire plugin now supports
rerunning failing tests which is a key feature of the RNG test suite.

Alex

[1] https://en.wikipedia.org/wiki/Java_version_history

Reply via email to