On Sun, Nov 3, 2019 at 5:44 PM Alex Herbert <alex.d.herb...@gmail.com>
wrote:

>
>
> > On 3 Nov 2019, at 20:12, Alex Herbert <alex.d.herb...@gmail.com> wrote:
> >
> >
> >
> >> On 3 Nov 2019, at 19:30, Gary Gregory <garydgreg...@gmail.com <mailto:
> garydgreg...@gmail.com>> wrote:
> >>
> >> On Sun, Nov 3, 2019 at 10:01 AM Alex Herbert <alex.d.herb...@gmail.com
> <mailto:alex.d.herb...@gmail.com>>
> >> wrote:
> >>
> >>> I think everything is finalised for a release of RNG, namely:
> >>>
> >>> All bugs and issues with SonarCloud and LGTM.com <http://lgtm.com/>
> are fixed.
> >>> The user guide has been updated for all the new features.
> >>> The performance and quality results have been updated in the user
> guide.
> >>>
> >>> Any objections to me cutting a release candidate for v1.3? I hope to
> get
> >>> it done next week.
> >>>
> >>
> >> You first should make sure binary compatibility is there, Apache RAT
> check
> >> passes, and so on. That will avoid possible issues in a RC.
> >
> > rat:check and clirr:check are part of the default maven build so errors
> should not enter the codebase.
> >
> > The clirr:clirr report is full of infos for all the new API methods and
> classes.
> >
> > I'll start with a release dry run and see how everything looks.
> >
> > The only outstanding “issue” is that the full code for release has to be
> built using JDK 9.
> >
> > The extra examples maven modules contains some code using Java 9
> modules. All my attempts to get a build to work with JDK 11 have failed on
> the javadoc tool which complains about building for code using modules that
> references packages in the named module [1]. My last attempt using JDK
> 11.0.4 had the same error I found with JDK 11.0.2. I have not a found a fix
> for a multi-module Maven project that uses different java source versions
> and includes some java 9 source explicitly using modules.
> >
> > Given that JDK 11.0.5 is out I will have another look at this. A brief
> scan of the release notes for 11.0.5 does not mention anything but it is
> worth a try. I’d rather do a release using JDK 11 than JDK 9.
>
> JDK 11 works depending on the vendor and the source version!
>
> Steps
>
> 1. Optional. Update commons-rng-examples/examples-jpms/pom.xml to changes
> the source and target from 9 to 11. This is:
>
>     <maven.compiler.source>11</maven.compiler.source>
>     <maven.compiler.target>11</maven.compiler.target>
>     <maven.compiler.release>11</maven.compiler.release>
>
> 2. Build using: mvn clean package site site:stage -P commons-rng-examples
>
>
> Tested two JDK 11 distributions:
>
> Official JDK from https://jdk.java.net/java-se-ri/11 <
> https://jdk.java.net/java-se-ri/11>
>
> java -version
> java version "11.0.5" 2019-10-15 LTS
> Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
> Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)
>
> OpenAdopt JDK
> https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot#x64_linux
> <
> https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot#x64_linux
> >
>
> java -version
> openjdk version "11.0.5" 2019-10-15
> OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.5+10)
> OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.5+10, mixed mode)
>
>
> I tried 4 variants:
>
> Source 9, JDK 11.0.5
> Source 9, OpenAdopt JDK 11.0.5
> Source 11, JDK 11.0.5
> Source 11, OpenAdopt JDK 11.0.5
>
>
> Source 9, JDK 11.0.5
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-site-plugin:3.8.2:site (default-site) on
> project commons-rng-examples-jpms-lib: Error generating
> maven-javadoc-plugin:3.1.1:javadoc report:
> [ERROR] Exit code: 1 - javadoc: error - The code being documented uses
> modules but the packages defined in
> https://docs.oracle.com/javase/9/docs/api/ are in the unnamed module.
> [ERROR] javadoc: error - The code being documented uses modules but the
> packages defined in
> https://commons.apache.org/proper/commons-rng/commons-rng-client-api/apidocs/
> are in the unnamed module.
> [ERROR] javadoc: error - The code being documented uses modules but the
> packages defined in
> https://commons.apache.org/proper/commons-rng/commons-rng-sampling/apidocs/
> are in the unnamed module.
>
> Source 9, OpenAdopt JDK 11.0.5
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-site-plugin:3.8.2:site (default-site) on
> project commons-rng-examples-jpms-lib: Error generating
> maven-javadoc-plugin:3.1.1:javadoc report:
> [ERROR] Exit code: 1 - javadoc: error - The code being documented uses
> modules but the packages defined in
> https://docs.oracle.com/javase/9/docs/api/ are in the unnamed module.
>
>
> Source 11, JDK 11.0.5
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-site-plugin:3.8.2:site (default-site) on
> project commons-rng-examples-jpms-lib: Error generating
> maven-javadoc-plugin:3.1.1:javadoc report:
> [ERROR] Exit code: 1 - javadoc: error - The code being documented uses
> modules but the packages defined in
> https://commons.apache.org/proper/commons-rng/commons-rng-client-api/apidocs/
> are in the unnamed module.
> [ERROR] javadoc: error - The code being documented uses modules but the
> packages defined in
> https://commons.apache.org/proper/commons-rng/commons-rng-sampling/apidocs/
> are in the unnamed module.
>
>
> Source 11, OpenAdopt JDK 11.0.5
>
> OK
>
>
>
> So there are at least two options:
>
> 1. Release using JDK 9
>

I did not read all the details but I know that if you compile with JDK 9
and you use a JRE classes in the NIO Buffer hierarchy, things will break
when running on Java 8 due to some methods in the JRE being
added/moved/ICantRecallTheDetails in the hierarchy.

IOW, you are opening yourself up to a world of pain. The KISS is to compile
with your target platform, otherwise, you can get in trouble.

Gary



> 2. Update the examples project to use source 11 for the Java modules code
> and release using a non-oracle JDK 11
>
> Note that updating to use source 11 will break the Jenkins build which
> uses JDK 9 to run a full build including the -P commons-rng-examples
> profile. This could be ignored, updated to JDK 11 or dropped in favour of
> adding an appropriate JDK 11 run using Travis.
>
> Another option is to somehow get around the javadoc issue with modules and
> unnamed modules.
>
> WDYT?
>
> Alex
>
>
> >
> > Alex
> >
> >
> > [1] https://github.com/apache/commons-rng/pull/32 <
> https://github.com/apache/commons-rng/pull/32>
> >>
> >> Gary
> >>
> >>
> >>>
> >>> Alex
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org <mailto:
> dev-unsubscr...@commons.apache.org>
> >>> For additional commands, e-mail: dev-h...@commons.apache.org <mailto:
> dev-h...@commons.apache.org>
>

Reply via email to