RAT-572: Maven build improvements after dropping JDK8 in RAT 0.18#698
RAT-572: Maven build improvements after dropping JDK8 in RAT 0.18#698ctubbsii wants to merge 2 commits into
Conversation
RAT-478 updated the Java version to 17 for the minimal build JDK and the target runtime JRE, but left some things in place that are no longer needed. This cleans some of that up. * Replace `mavenVersion` property with `minimalMavenBuildVersion` property defined in ASF parent POM * Remove unneeded managed plugin versions and version properties from plugins defined to the same or newer version in the ASF parent POM * Remove other properties and plugin config that use those properties (like `maven.compiler.*`) when they can be inherited from the parent POM instead * Remove unused animal-sniffer-maven-plugin (no longer needed with JDK 9 and later) * Override `minimalJavaBuildVersion` property from ASF parent POM so it can be more easily managed separately from the `javaVersion` (target version) property * Move Eclipse-specific m2e lifecycle configuration to profile that is activated only in Eclipse, to make it easier to manage separately from actual plugin configuration * Remove redundant Maven version check from enforcer plugin (already defined in ASF parent POM) * Fix `<license>` element in the POM to correctly name the Apache license using its SPDX identifier and remove unused generic comment that appears to have been copied from an example configuration * Remove unneeded maven.compiler.release profile, since it was only needed to support building using JDK8, which is no longer possible
Claudenw
left a comment
There was a problem hiding this comment.
As I read through these changes it looks like you are removing our specific versions for the versions in ASF parent.
Most of these seem fine to me, however, I am a bit concerned about the maven build changes. We build a maven plugin so I think we need the maven plugin plugin bits.
Have you tries to build the entire package from scratch using these mods?
Do you have experience building a maven plugin?
I like where this change is heading, I am just a bit nervous about some of the more obscure bits.
Not really requesting changes but want to hold merging until I am comfortable.
Claude
| <mavenPluginTestingVersion>3.5.1</mavenPluginTestingVersion> | ||
| <mavenPluginPluginVersion>3.15.2</mavenPluginPluginVersion> | ||
| <mavenChangesVersion>3.0.0-M3</mavenChangesVersion> | ||
| <mavenJavadocPluginVersion>3.12.0</mavenJavadocPluginVersion> |
There was a problem hiding this comment.
Due to RAT-497 we defined Javadoc plugin version in our own tree ..... but we can rely on the ASF parent for that as these older JDK versions do not receive any more support anymore.
There was a problem hiding this comment.
These properties were previously necessary to use newer versions of these plugins to override the versions defined in the ASF parent POM. Since then, the parent POM was updated, and uses these newer versions already, so these are no longer needed. New patches can override the versions again if it ever becomes necessary to override the version from the parent POM again, but right now, that is not necessary. However, if it does become necessary, the parent POM makes it easier to override the version by managing the plugin versions with properties, so you don't need to make your own properties and pluginManagment entries to merely override a version.
|
@Claudenw wrote:
I didn't remove anything that wasn't already defined elsewhere. Those were defined in the
I built the entire package using Also yes, I have experience building maven plugins. I have created several, and help maintain some that are widely used (like formatter-maven-plugin).
Which bits? I'm happy to explain any bits you don't understand.
Please let me know what it would take for you to get comfortable with the changes. |
|
I am glad to see you ran the build. I will dive deeper this weekend. But from 10K feet it looks good. |
RAT-478 updated the Java version to 17 for the minimal build JDK and the target runtime JRE, but left some things in place that are no longer needed. This cleans some of that up.
mavenVersionproperty withminimalMavenBuildVersionproperty defined in ASF parent POMmaven.compiler.*) when they can be inherited from the parent POM insteadminimalJavaBuildVersionproperty from ASF parent POM so it can be more easily managed separately from thejavaVersion(target version) property<license>element in the POM to correctly name the Apache license using its SPDX identifier and remove unused generic comment that appears to have been copied from an example configuration