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)