Niels Basjes created AVRO-3716:
----------------------------------

             Summary: Allow building with newer Maven plugins
                 Key: AVRO-3716
                 URL: https://issues.apache.org/jira/browse/AVRO-3716
             Project: Apache Avro
          Issue Type: Improvement
            Reporter: Niels Basjes
            Assignee: Niels Basjes


Several of the dependabot updates fail on Java 8 because of newer versions of 
plugins needing Java 11 or Java 17 to run.

{code:java}
Warning:  Error injecting: 
org.apache.maven.plugins.checkstyle.CheckstyleViolationCheckMojo 
[206|https://github.com/apache/avro/actions/runs/4197990575/jobs/7281026269#step:7:207]java.lang.UnsupportedClassVersionError:
 com/puppycrawl/tools/checkstyle/api/AuditListener has been compiled by a more 
recent version of the Java Runtime (class file version 55.0), this version of 
the Java Runtime only recognizes class file versions up to 52.0{code}

My proposal is to restructure the java maven build as follows:
# The build requires Java 17 (or 11 if the next statement is incorrect)
## This means all plugins should work again.
# The compiler must create Java 8 compatible classes (source=8, release=8)
# To ensure it actually runs on all Java versions a basic set of tests are 
executed with all LTS Java versions (8, 11 and 17) and the newest intermediate 
(currently 19)
#- Similar to what I have done here 
#-- https://github.com/nielsbasjes/yauaa/blob/main/.github/workflows/build.yml
#-- https://github.com/nielsbasjes/yauaa/tree/main/analyzer/src/it/JavaPlain
#-- https://github.com/nielsbasjes/ToolChainsInCiBuilds

Additional things
- The build environment for developers change which requires updated  
documentation and docker build.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to