Update parent to 40. Also align plugin requirements with those from parent.
This lowers plugin validation "external" warnings from 12 to 3 (site, plexus-component-metadata and rat).
---
https://issues.apache.org/jira/browse/MNG-7816
Checks the paths before relativizing them.
Normalize and relative before adding to result
Rename local vars
Apply to ExecutionEventLogger
---
https://issues.apache.org/jira/browse/MNG-7795
Refactored and now dropped the unused pluginDescriptor/dependencies validation. Now we have "plugin dependency" (using POM) components to perform dependency validation.
Also, two "inlined" validation from plugin dependencies resolver factored out to components, along with 3 existing moved to newly added (they were wrongly validating descriptor dependencies while intent was to validate "real" dependencies) validators.
---
https://issues.apache.org/jira/browse/MNG-7789
Reword the validation warning and add new check for real plugin dependencies in wrong scopes (do not rely on build-time derived descriptor, but on real data instead).
---
https://issues.apache.org/jira/browse/MNG-7786
* [MNG-7743] Make the build work on JDK 20
* the behaviour before the fix was already pretty confusing. JDK 19 and
older do not check the presense of '{' in the constructor, so the
URL object got created, but when converting to file the result would
be e.g. '/../../src/test/remote-repo' which is completely wrong.
But it seems the affected tests did not really care, as all of them
were passing
* Remove forgotten println
Co-authored-by: Yeikel <email@yeikel.com>
* Test with latest JDK
* Do not run ITs with jdk 20, but just the "build itself"
---------
Co-authored-by: Yeikel <email@yeikel.com>
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
# Conflicts:
# .github/workflows/maven_build_itself.yml
# maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
Instead of only including causes, suppressed exceptions are now included
as well. A similar indentation strategy as in
`Throwable.printStackTrace` is used.
Back ported 56674cdc90
---
https://issues.apache.org/jira/browse/MNG-7778
Reuse as much as possible from master, but keep existing stuff like multiModuleProjectDirectory alone.
Changes:
* interpolate user properties and arguments
* introduce session.topDirectory and session.rootDirectory expressions (for interpolation only)
* Maven fails to start if any of the new properties are undefined but their use is attempted
* leave everything else untouched
---
https://issues.apache.org/jira/browse/MNG-7774
And do align them. Max Level is Java 8, but
we had several conflicts, like HttpClient
(used by Wagon but also by Resolver-Transport-Http).
---
https://issues.apache.org/jira/browse/MNG-7670
As setter was added in Maven3. Still, this causes unexpected NPE
during plugin execution, while Maven3 should support Maven2
plugins.
---
https://issues.apache.org/jira/browse/MNG-7759
This is ONLY the reproduction of the problem I found.
If you disable the activeProfile (in buildPom and remove the assert) then all checks pass.
If you enable this profile (provided code) then in several places the ${project.basedir} has been interpolated and shows the path of the build and the assertions fail the build.
---
https://issues.apache.org/jira/browse/MNG-7750
This is general rework of current Maven 3.9.x line how it handles plugin and mojo validations.
Changes:
* added plugin validations for dependencies
* introduced pluginValidationManager that gathers violations
* manager creates a report at build end, with dense and non repeating data
* this is in spirit to lessen already too verbose logging, as current solution would report violations as many times plugin is used in reactor, and that can be many (ie. a plugin from parent for each module)
Example report of Maven 3.9.x build: https://gist.github.com/cstamas/b62fdcd53eaf316123cf183f5a24e6a5
---
https://issues.apache.org/jira/browse/MNG-7754