That would be a typo, I meant Alex, sorry for the confusion. Gary
On Sun, Apr 23, 2023, 14:24 Markus Spann <markus_sp...@hotmail.com> wrote: > Who's Albert? > > > Am 23. April 2023 13:33:23 UTC schrieb Gary Gregory < > garydgreg...@gmail.com>: > >> Thank you for reviewing Albert. Wow! What a fail on the part of the >> maven compiler plugin! :-( I thought for sure I had tested that but I >> obviously fooled myself. >> >> I created https://issues.apache.org/jira/browse/MCOMPILER-534 >> >> I will cancel this RC. >> >> Gary >> >> On Sun, Apr 23, 2023 at 4:03 AM Alex Herbert <alex.d.herb...@gmail.com> >> wrote: >> >>> >>> Installed from the git tag. I can build projects on JDK 11 and 17. But >>> not on JDK 8. >>> >>> The new profile to conditionally configure the maven-compiler-release >>> plugin for JDK 9+ is incorrect. The parent pom defines the property: >>> >>> <!-- Java >= 9 --> >>> <maven.compiler.release>8</maven.compiler.release> >>> >>> Then activates it using: >>> >>> <profile> >>> <id>jdk9-compiler</id> >>> <activation> >>> <jdk>[9,)</jdk> >>> </activation> >>> <build> >>> <pluginManagement> >>> <plugins> >>> <plugin> >>> <groupId>org.apache.maven.plugins</groupId> >>> <artifactId>maven-compiler-plugin</artifactId> >>> <configuration> >>> <release>${maven.compiler.release}</release> >>> </configuration> >>> </plugin> >>> </plugins> >>> </pluginManagement> >>> </build> >>> </profile> >>> >>> However the use of the property <maven.compiler.release> is enough to >>> set it into the compiler-plugin when building on JDK 8. I see the >>> following error when building under JDK 8: >>> >>> [ERROR] Failed to execute goal >>> org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile >>> (default-compile) on project commons-lang3: Fatal error compiling: >>> invalid flag: --release -> [Help 1] >>> >>> I note that the config is actually recommended on the maven >>> documentation for the plugin [1]. However it seems that just setting >>> this property (given that it is the user override property for the >>> <release> tag [2]) enables it on JDK 8. Perhaps this is an error in >>> the maven-compiler-plugin itself. >>> >>> In Commons Geometry the configuration uses a unique property on the >>> POM and then sets maven.compiler.release for JDK 9+: >>> >>> <!-- JVM target version, in the newer JDK 9+ format. --> >>> <jvm.target>8</jvm.target> >>> >>> <profile> >>> <id>compiler-release-property</id> >>> <activation> >>> <jdk>[9,)</jdk> >>> </activation> >>> <properties> >>> <!-- >>> The "release" compiler property (available in JDK 9+) >>> must be set in order to generate >>> binary-compatible artifacts for the target JVM. This >>> flag sets the version of the platform >>> APIs to compile against, which is necessary when >>> building with a later JDK but targeting >>> an earlier one. For example, a covariant return type >>> was added to java.nio.ByteBuffer.rewind() >>> in Java 9. If the release property is not set when >>> compiling with JDK 9 for Java 8, then the >>> Java 9 method will be referenced in the bytecode, >>> causing a runtime error when running on 8. >>> --> >>> <maven.compiler.release>${jvm.target}</maven.compiler.release> >>> </properties> >>> </profile> >>> >>> I switched to this setup in CP 57 and the build on JDK 8 worked. So >>> perhaps we should change to this pattern and provide feedback to the >>> maven-compiler-plugin developers that their recommended configuration >>> does not work. >>> >>> Other notes: >>> >>> 1. I still get a warning from the SPDX plugin (same as previous versions >>> of CP): >>> >>> [WARNING] Unable to map maven licenses to a declared license. Using >>> NOASSERTION >>> >>> I do not know where this comes from. The ASF 2.0 license should be >>> recognised. This seems to output for all projects including building >>> CP itself. Looking at the config options for SPDX this should >>> automatically recognise the ASF license so I do not know if this is a >>> config problem or a bug in SPDX. >>> >>> >>> 2. I had problems with commons-lang on a new Mac processor: >>> >>> Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8) >>> Maven home: /Users/ah403/mvn/mvn >>> Java version: 17.0.6, vendor: Eclipse Adoptium, runtime: >>> /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home >>> Default locale: en_GB, platform encoding: UTF-8 >>> OS name: "mac os x", version: "13.3.1", arch: "aarch64", family: "mac" >>> >>> Using JDK 11 or 17 I get a failure in a unit test for >>> ArchUtilsTest.testGetProcessor. The test assumes that the current >>> architecture is x86. As shown above the architecture is "aarch64". The >>> problem is with the test which should be more robust to actually >>> knowing what the architecture is before asserting it is x86. This is >>> not an issue with the parent. >>> >>> Note that the "os.arch" property on JDK 8 does not detect the new >>> apple architecture: >>> >>> Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8) >>> Maven home: /Users/ah403/mvn/mvn >>> Java version: 1.8.0_362, vendor: Temurin, runtime: >>> /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home/jre >>> Default locale: en_GB, platform encoding: UTF-8 >>> OS name: "mac os x", version: "13.3.1", arch: "x86_64", family: "mac" >>> >>> So when building on JDK 8 this test passes as the arch is detected as >>> "x86". The test in lang should be more robust, perhaps just commenting >>> out the invalid assertion on line 128 would be enough: >>> >>> final Processor processor = ArchUtils.getProcessor(); >>> assertTrue(processor.isX86()); // <-- This is not platform safe >>> >>> Regards, >>> >>> Alex >>> >>> [1] >>> https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-release.html >>> [2] >>> https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#release >>> >>> On Sat, 22 Apr 2023 at 15:25, Gary Gregory <garydgreg...@gmail.com> wrote: >>> >>>> >>>> We have fixed quite a few bugs and added some significant enhancements >>>> since Apache Commons Parent 56 was released, so I would like to >>>> release Apache Commons Parent 57. >>>> >>>> Apache Commons Parent 57 RC1 is available for review here: >>>> https://dist.apache.org/repos/dist/dev/commons/commons-parent/57-RC1 >>>> (svn revision 61424) >>>> >>>> The Git tag commons-parent-57-RC1 commit for this RC is >>>> 438328ae7ef71feb9565c650c2d83404c191c031 which you can browse here: >>>> >>>> https://gitbox.apache.org/repos/asf?p=commons-parent.git;a=commit;h=438328ae7ef71feb9565c650c2d83404c191c031 >>>> You may checkout this tag using: >>>> git clone https://gitbox.apache.org/repos/asf/commons-parent.git >>>> --branch commons-parent-57-RC1 commons-parent-57-RC1 >>>> >>>> Maven artifacts are here: >>>> >>>> https://repository.apache.org/content/repositories/orgapachecommons-1631/org/apache/commons/commons-parent/57/ >>>> >>>> These are the artifacts and their hashes: >>>> >>>> #Release SHA-512s >>>> #Sat Apr 22 10:17:35 EDT 2023 >>>> >>>> commons-parent-57-bom.json=4939a0314f700a40eb479eb4ad62a835c188238f683be411206666ff7edeb90979e3605e25e8955344220345f856d0c45f63baff959e7f0e1a52344129f3ad8e >>>> >>>> commons-parent-57-bom.xml=d0c6bda84d6f5bda73b393b0736ba0d86deac17f5301d22b1696b4ff0cdad07dff4a985361e296eff75807b9e6d3db7616f22b2b80d53958c1df2a843a3c3273 >>>> >>>> commons-parent-57-site.xml=c6aea4f2c03920366bee23b08b046dacc09710e92c78ccd83f47cd92f89bc53abc3b8bbc7f44017ee94a2cb022ce763fe3f7d8c9aa42d571350269ba6568ca07 >>>> >>>> commons-parent-57-src.tar.gz=ef3debcd562db54ec4382eb80a7b144c2640b856b9df976e96ea89e07d7a951df1b59cf986b600eb57cd2b005b172b6d332041b1c00cef80501a7162d8547ebc >>>> >>>> commons-parent-57-src.zip=42a1ea9148294e7e3db65698d7affffebbc3947bfaa19a72c28ef9388135582075b06f27ef824cdd16a811f6e0062e3a99a40faed1f4626ae4ec151ed22d006d >>>> >>>> org.apache.commons_commons-parent-57.spdx.json=ff9a113539c850d0eec50feff67671664a7b9e236b4c1609101faae3b8d67bf8f7703c9f8cbb8ac5776db94735d7b34c84fcdda6d65b4147785e2854f7d3949d >>>> >>>> I have tested this with >>>> >>>> mvn -V -Duser.name=$my_apache_id >>>> -Dcommons_build_plugin_version=$commons_build_plugin_version >>>> -Ddoclint=none -Prelease -Ptest-deploy clean package site deploy >>>> >>>> using: >>>> >>>> Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8) >>>> Maven home: /usr/local/Cellar/maven/3.9.1/libexec >>>> Java version: 1.8.0_362, vendor: Homebrew, runtime: >>>> >>>> /usr/local/Cellar/openjdk@8/1.8.0+362/libexec/openjdk.jdk/Contents/Home/jre >>>> Default locale: en_US, platform encoding: UTF-8 >>>> OS name: "mac os x", version: "13.3.1", arch: "x86_64", family: "mac" >>>> Darwin **** 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 21:00:17 >>>> PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64 >>>> >>>> Details of changes since 56 are in the release notes: >>>> >>>> https://dist.apache.org/repos/dist/dev/commons/commons-parent/57-RC1/RELEASE-NOTES.txt >>>> >>>> https://dist.apache.org/repos/dist/dev/commons/commons-parent/57-RC1/site/changes-report.html >>>> >>>> Site: >>>> >>>> https://dist.apache.org/repos/dist/dev/commons/commons-parent/57-RC1/site/index.html >>>> (note some *relative* links are broken and the 57 directories are >>>> not yet created - these will be OK once the site is deployed.) >>>> >>>> RAT Report: >>>> >>>> https://dist.apache.org/repos/dist/dev/commons/commons-parent/57-RC1/site/rat-report.html >>>> >>>> KEYS: >>>> https://downloads.apache.org/commons/KEYS >>>> >>>> Please review the release candidate and vote. >>>> This vote will close no sooner than 72 hours from now. >>>> >>>> [ ] +1 Release these artifacts >>>> [ ] +0 OK, but... >>>> [ ] -0 OK, but really should fix... >>>> [ ] -1 I oppose this release because... >>>> >>>> Thank you, >>>> >>>> Gary Gregory, >>>> Release Manager (using key DEADBEEF) >>>> >>>> For following is intended as a helper and refresher for reviewers. >>>> >>>> Validating a release candidate >>>> ------------------------------ >>>> These guidelines are NOT complete. >>>> >>>> Requirements: Git, Java, Maven. >>>> >>>> You can validate a release from a release candidate (RC) tag as follows. >>>> >>>> 1a) Clone and checkout the RC tag >>>> >>>> git clone https://gitbox.apache.org/repos/asf/commons-parent.git >>>> --branch commons-parent-57-RC1 commons-parent-57-RC1 >>>> cd commons-parent-57-RC1 >>>> >>>> 1b) Download and unpack the source archive from: >>>> >>>> >>>> https://dist.apache.org/repos/dist/dev/commons/commons-parent/57-RC1/source >>>> >>>> 2) Check Apache licenses >>>> >>>> This step is not required if the site includes a RAT report page which >>>> you then must check. >>>> >>>> mvn apache-rat:check >>>> >>>> 3) Check binary compatibility >>>> >>>> Older components still use Apache Clirr: >>>> >>>> This step is not required if the site includes a Clirr report page >>>> which you then must check. >>>> >>>> mvn clirr:check >>>> >>>> Newer components use JApiCmp with the japicmp Maven Profile: >>>> >>>> This step is not required if the site includes a JApiCmp report page >>>> which you then must check. >>>> >>>> mvn install -DskipTests -P japicmp japicmp:cmp >>>> >>>> 4) Build the package >>>> >>>> mvn -V clean package >>>> >>>> You can record the Maven and Java version produced by -V in your VOTE >>>> reply. >>>> To gather OS information from a command line: >>>> Windows: ver >>>> Linux: uname -a >>>> >>>> 5) Build the site for a single module project >>>> >>>> Note: Some plugins require the components to be installed instead of >>>> packaged. >>>> >>>> mvn site >>>> Check the site reports in: >>>> - Windows: target\site\index.html >>>> - Linux: target/site/index.html >>>> >>>> -the end- >>>> ------------------------------ >>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>>> For additional commands, e-mail: dev-h...@commons.apache.org >>>> >>>> ------------------------------ >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >>> ------------------------------ >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >>