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
>>
>>

Reply via email to