Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MNG-7826] Validate plugin transitive dependencies as well #1186

Draft
wants to merge 3 commits into
base: maven-3.9.x
Choose a base branch
from

Conversation

cstamas
Copy link
Member

@cstamas cstamas commented Jun 26, 2023

As 3.9.3 lost this capability as it goes only for POM (direct dependencies) while transitive also does tell a lot.

Example output with this PR:

[WARNING]
[WARNING] Plugin [INTERNAL, EXTERNAL] validation issues were detected in following plugin(s)
[WARNING]
[WARNING]  * org.jacoco:jacoco-maven-plugin:0.8.10
[WARNING]   Plugin EXTERNAL issue(s):
[WARNING]    * Transitive dependencies contain Maven 2.x artifacts, which will be not supported in Maven 4.x
[WARNING]    * Transitive dependencies mixes multiple Maven versions: [2.0.6, 2.0.2]
[WARNING]    * Transitive dependencies contain plexus-container-default, which is EOL
[WARNING]
[WARNING]  * org.apache.maven.plugins:maven-site-plugin:3.12.1
[WARNING]   Declared at location(s):
[WARNING]    * com.soebes.smpp:smpp:6.0.4-SNAPSHOT (pom.xml) @ line 580
[WARNING]   Plugin EXTERNAL issue(s):
[WARNING]    * Direct dependencies contain Maven 2.x compatibility layer, which will be not supported in Maven 4.x
[WARNING]    * Transitive dependencies of Maven artifacts are not in `provided` scope. If the plugin already declares them in `provided` scope, update the maven-plugin-plugin to latest version. Artifacts found with wrong scope: [org.apache.maven:maven-plugin-api:3.2.5, org.apache.maven:maven-model:3.2.5, org.apache.maven:maven-core:3.2.5, org.apache.maven:maven-settings:3.2.5, org.apache.maven:maven-model-builder:3.2.5, org.apache.maven:maven-repository-metadata:3.2.5, org.apache.maven:maven-aether-provider:3.2.5, org.apache.maven:maven-settings-builder:3.2.5, org.apache.maven:maven-artifact:3.2.5]
[WARNING]    * Transitive dependencies contain plexus-container-default, which is EOL
[WARNING]   Mojo EXTERNAL issue(s):
[WARNING]    * Mojo site:attach-descriptor (org.apache.maven.plugins.site.descriptor.SiteDescriptorAttachMojo)
[WARNING]      - Parameter 'localRepository' uses deprecated parameter expression '${localRepository}': ArtifactRepository type is deprecated and its use in Mojos should be avoided.
[WARNING]
[WARNING]
[WARNING] Fix reported issues by adjusting plugin configuration or by upgrading above listed plugins. If no upgrade available, please notify plugin maintainers about reported issues.
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [NONE, INLINE, SUMMARY, BRIEF, VERBOSE]
[WARNING]

https://issues.apache.org/jira/browse/MNG-7826

As 3.9.3 lost this capability as it goes only for POM (direct dependencies)
while transitive also does tell a lot.

Example output with this PR:
```
[WARNING]
[WARNING] Plugin [INTERNAL, EXTERNAL] validation issues were detected in following plugin(s)
[WARNING]
[WARNING]  * org.jacoco:jacoco-maven-plugin:0.8.10
[WARNING]   Plugin EXTERNAL issue(s):
[WARNING]    * Transitive dependencies contain Maven 2.x artifacts, which will be not supported in Maven 4.x
[WARNING]    * Transitive dependencies mixes multiple Maven versions: [2.0.6, 2.0.2]
[WARNING]    * Transitive dependencies contain plexus-container-default, which is EOL
[WARNING]
[WARNING]  * org.apache.maven.plugins:maven-site-plugin:3.12.1
[WARNING]   Declared at location(s):
[WARNING]    * com.soebes.smpp:smpp:6.0.4-SNAPSHOT (pom.xml) @ line 580
[WARNING]   Plugin EXTERNAL issue(s):
[WARNING]    * Direct dependencies contain Maven 2.x compatibility layer, which will be not supported in Maven 4.x
[WARNING]    * Transitive dependencies of Maven artifacts are not in `provided` scope. If the plugin already declares them in `provided` scope, update the maven-plugin-plugin to latest version. Artifacts found with wrong scope: [org.apache.maven:maven-plugin-api:3.2.5, org.apache.maven:maven-model:3.2.5, org.apache.maven:maven-core:3.2.5, org.apache.maven:maven-settings:3.2.5, org.apache.maven:maven-model-builder:3.2.5, org.apache.maven:maven-repository-metadata:3.2.5, org.apache.maven:maven-aether-provider:3.2.5, org.apache.maven:maven-settings-builder:3.2.5, org.apache.maven:maven-artifact:3.2.5]
[WARNING]    * Transitive dependencies contain plexus-container-default, which is EOL
[WARNING]   Mojo EXTERNAL issue(s):
[WARNING]    * Mojo site:attach-descriptor (org.apache.maven.plugins.site.descriptor.SiteDescriptorAttachMojo)
[WARNING]      - Parameter 'localRepository' uses deprecated parameter expression '${localRepository}': ArtifactRepository type is deprecated and its use in Mojos should be avoided.
[WARNING]
[WARNING]
[WARNING] Fix reported issues by adjusting plugin configuration or by upgrading above listed plugins. If no upgrade available, please notify plugin maintainers about reported issues.
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [NONE, INLINE, SUMMARY, BRIEF, VERBOSE]
[WARNING]
```

---

https://issues.apache.org/jira/browse/MNG-7826
@cstamas
Copy link
Member Author

cstamas commented Jun 27, 2023

This is not going in as it is, details on JIRA issue. Making this into DRAFT.

@cstamas cstamas marked this pull request as draft June 27, 2023 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants