Re: [rng] Release 1.4 blocked by a maven build issue

2021-08-02 Thread Alex Herbert
On Mon, 2 Aug 2021 at 16:52, Gilles Sadowski  wrote:

> Le lun. 2 août 2021 à 17:29, Gary Gregory  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


Re: [rng] Release 1.4 blocked by a maven build issue

2021-08-02 Thread Gilles Sadowski
Le lun. 2 août 2021 à 17:29, Gary Gregory  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 (?).]

Regards,
Gilles

>
> Gary
>
> On Mon, Aug 2, 2021, 11:06 Alex Herbert  wrote:
>
> > I have been looking at releasing RNG 1.4.
> >
> > I did a check to update the plugins using:
> >
> > mvn versions:display-plugin-updates -U -N
> >
> > I get an issue about requiring Maven 3.3.9 as a minimum version which
> > requires JDK 7 [1]. Since the project targets JDK 6 this is not ideal.
> >
> > Very few versions have been updated since I did the last release. I checked
> > out tag RNG_1_3 and I get the same issue. So either my current build
> > environment is now mandating maven 3.3.9 or this was an issue on the last
> > release and I did not notice it. Since I last updated plugins before the
> > last release I think this is some third party dependency that is not
> > explicitly controlled in the POM. FYI I am using:
> >
> > mvn -v
> > Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> > Maven home: /usr/local/apache-maven-3.6.3
> > Java version: 1.8.0_241, vendor: Oracle Corporation, runtime:
> > /usr/lib/jvm/jdk1.8.0_241/jre
> > Default locale: en_GB, platform encoding: UTF-8
> > OS name: "linux", version: "4.15.0-151-generic", arch: "amd64", family:
> > "unix"
> >
> > If we require Java 1.6 as the target then this will require:
> >
> > 1. Tracking down what has created a requirement for Maven 3.3.9
> > 2. A toolchain to configure Maven running under JDK 1.7+ to build the code
> > using JDK 1.6 [2]
> > 3. Updating the project to use Java 1.7
> > 4. Documenting that Java 1.7 is required to build the project even though
> > the target is 1.6
> >
> > Currently we use a profile for JDK 1.8+ plugins to run code checks. Travis
> > CI runs a build on JDK 1.7 so the project will build on that platform. But
> > there is no CI build available to run on JDK 1.6.
> >
> > There is nothing in the code to mandate an upgrade to 1.7. So an update
> > would be just for convenience.
> >
> > My preference would be to update the documentation to state that it
> > requires building with Java 1.7 and do at least this release targeting 1.6.
> > Then update the code to 1.8 to take advantage of the new features there and
> > skip 1.7.
> >
> > Is there a requirement that the platform that is targeted must be able to
> > be used to build the code from source?
> >
> > Any opinions?
> >
> > Alex
> >
> > [1] https://maven.apache.org/docs/3.3.9/release-notes.html
> > [2] https://maven.apache.org/guides/mini/guide-using-toolchains.html
> >

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: [rng] Release 1.4 blocked by a maven build issue

2021-08-02 Thread Gilles Sadowski
Le lun. 2 août 2021 à 17:06, Alex Herbert  a écrit :
>
> I have been looking at releasing RNG 1.4.
>
> I did a check to update the plugins using:
>
> mvn versions:display-plugin-updates -U -N
>
> I get an issue about requiring Maven 3.3.9 as a minimum version which
> requires JDK 7 [1]. Since the project targets JDK 6 this is not ideal.
>
> [...]
>
> Is there a requirement that the platform that is targeted must be able to
> be used to build the code from source?

I seem to recall that Sebb mentioned that it must be the case (TBC).
[At least, it would be consistent with the official release material being
source code.]

Gilles

>
> Any opinions?
>
> Alex
>
> [1] https://maven.apache.org/docs/3.3.9/release-notes.html
> [2] https://maven.apache.org/guides/mini/guide-using-toolchains.html

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: [rng] Release 1.4 blocked by a maven build issue

2021-08-02 Thread Gary Gregory
IMO make Java 8 the platform requirement.

Gary

On Mon, Aug 2, 2021, 11:06 Alex Herbert  wrote:

> I have been looking at releasing RNG 1.4.
>
> I did a check to update the plugins using:
>
> mvn versions:display-plugin-updates -U -N
>
> I get an issue about requiring Maven 3.3.9 as a minimum version which
> requires JDK 7 [1]. Since the project targets JDK 6 this is not ideal.
>
> Very few versions have been updated since I did the last release. I checked
> out tag RNG_1_3 and I get the same issue. So either my current build
> environment is now mandating maven 3.3.9 or this was an issue on the last
> release and I did not notice it. Since I last updated plugins before the
> last release I think this is some third party dependency that is not
> explicitly controlled in the POM. FYI I am using:
>
> mvn -v
> Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> Maven home: /usr/local/apache-maven-3.6.3
> Java version: 1.8.0_241, vendor: Oracle Corporation, runtime:
> /usr/lib/jvm/jdk1.8.0_241/jre
> Default locale: en_GB, platform encoding: UTF-8
> OS name: "linux", version: "4.15.0-151-generic", arch: "amd64", family:
> "unix"
>
> If we require Java 1.6 as the target then this will require:
>
> 1. Tracking down what has created a requirement for Maven 3.3.9
> 2. A toolchain to configure Maven running under JDK 1.7+ to build the code
> using JDK 1.6 [2]
> 3. Updating the project to use Java 1.7
> 4. Documenting that Java 1.7 is required to build the project even though
> the target is 1.6
>
> Currently we use a profile for JDK 1.8+ plugins to run code checks. Travis
> CI runs a build on JDK 1.7 so the project will build on that platform. But
> there is no CI build available to run on JDK 1.6.
>
> There is nothing in the code to mandate an upgrade to 1.7. So an update
> would be just for convenience.
>
> My preference would be to update the documentation to state that it
> requires building with Java 1.7 and do at least this release targeting 1.6.
> Then update the code to 1.8 to take advantage of the new features there and
> skip 1.7.
>
> Is there a requirement that the platform that is targeted must be able to
> be used to build the code from source?
>
> Any opinions?
>
> Alex
>
> [1] https://maven.apache.org/docs/3.3.9/release-notes.html
> [2] https://maven.apache.org/guides/mini/guide-using-toolchains.html
>