Migrate legacy plugin Javadoc annotations - #432
Merged
slachiewicz merged 2 commits intoAug 9, 2026
Conversation
Replace legacy doclet tags in Maven Core integration-test plugin fixtures with maven-plugin-annotations metadata. Add the required provided dependencies and use constructor injection for migrated components.
There was a problem hiding this comment.
Pull request overview
This PR updates Maven 3.x integration-test plugin fixtures to use maven-plugin-annotations (annotation-based plugin descriptor extraction) instead of legacy Maven Plugin Tools Javadoc tags, keeping the fixtures compatible with the annotation-based descriptor extraction introduced upstream.
Changes:
- Migrated legacy
@goal,@phase,@execute,@parameter, and@requiresDependencyResolutionJavadoc tags to@Mojo,@Parameter,@Execute, etc. - Added
org.apache.maven.plugin-tools:maven-plugin-annotationsdependencies (withprovidedscope) to fixture POMs. - Replaced legacy
@component-style injection in a couple of fixtures with constructor injection viajavax.inject.Inject.
Reviewed changes
Copilot reviewed 67 out of 67 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| core-it-support/core-it-plugins/maven-it-plugin-site/src/main/java/org/apache/maven/plugin/coreit/InfoReport.java | Replaces legacy @goal tag with @Mojo annotation for report fixture. |
| core-it-support/core-it-plugins/maven-it-plugin-project-interpolation/src/main/java/org/apache/maven/plugin/coreit/PropertyInterpolationMojo.java | Moves legacy phase Javadoc to defaultPhase on @Mojo. |
| core-it-support/core-it-plugins/maven-it-plugin-invalid-descriptor/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java | Moves legacy phase Javadoc to defaultPhase on @Mojo. |
| core-it-suite/src/test/resources/mng-6240-plugin-extension-aether-provider/plugin-extension/src/main/java/org/apache/maven/its/plugin/TestMojo.java | Replaces legacy @goal tag with @Mojo annotation. |
| core-it-suite/src/test/resources/mng-6240-plugin-extension-aether-provider/plugin-extension/pom.xml | Adds maven-plugin-annotations dependency for annotation scanning. |
| core-it-suite/src/test/resources/mng-6127-plugin-execution-configuration-interference/plugin/src/main/java/org/apache/maven/its/mng6127/plugin/TestMojo.java | Migrates goal/parameter Javadoc tags to @Mojo / @Parameter. |
| core-it-suite/src/test/resources/mng-6127-plugin-execution-configuration-interference/plugin/pom.xml | Adds maven-plugin-annotations dependency for fixture compilation/scanning. |
| core-it-suite/src/test/resources/mng-3746/maven-mng3746-plugin/src/main/java/jar/MyMojo.java | Migrates goal/parameter Javadoc tags to @Mojo / @Parameter. |
| core-it-suite/src/test/resources/mng-3746/maven-mng3746-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3740/projects.v2/maven-mng3740-plugin/src/main/java/jar/MyMojo.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3740/projects.v2/maven-mng3740-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3740/projects.v1/maven-mng3740-plugin/src/main/java/jar/MyMojo.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3740/projects.v1/maven-mng3740-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3729/maven-mng3729-plugin/src/main/java/jar/Plain1Mojo.java | Migrates goal + dependency resolution requirement to @Mojo. |
| core-it-suite/src/test/resources/mng-3729/maven-mng3729-plugin/src/main/java/jar/Fork2Mojo.java | Migrates goal/execute/aggregator tags to @Execute + @Mojo. |
| core-it-suite/src/test/resources/mng-3729/maven-mng3729-plugin/src/main/java/jar/Fork1Mojo.java | Migrates goal/execute/aggregator tags to @Execute + @Mojo. |
| core-it-suite/src/test/resources/mng-3729/maven-mng3729-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3724/maven-mng3724-plugin/src/main/java/jar/Phase3ForkVerifierMojo.java | Migrates goal/execute/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3724/maven-mng3724-plugin/src/main/java/jar/Phase2GeneratorMojo.java | Migrates goal/parameter tags to @Mojo / @Parameter. |
| core-it-suite/src/test/resources/mng-3724/maven-mng3724-plugin/src/main/java/jar/Phase1ForkingMojo.java | Migrates goal/execute tags to @Execute + @Mojo. |
| core-it-suite/src/test/resources/mng-3724/maven-mng3724-plugin/src/main/java/jar/AbstractMng2734Mojo.java | Migrates parameter tag to @Parameter. |
| core-it-suite/src/test/resources/mng-3724/maven-mng3724-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3723/maven-mng3723-plugin/src/main/java/jar/MyMojo.java | Migrates goal/parameter tags to @Mojo / @Parameter. |
| core-it-suite/src/test/resources/mng-3723/maven-mng3723-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3716/maven-mng3716-plugin/src/main/java/jar/MyMojo.java | Migrates goal/execute/aggregator tags to @Execute + @Mojo. |
| core-it-suite/src/test/resources/mng-3716/maven-mng3716-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3710/pom-inheritance/maven-mng3710-pomInheritance-plugin/src/main/java/jar/MyMojo.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3710/pom-inheritance/maven-mng3710-pomInheritance-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3710/original-model/plugins/maven-mng3710-originalModel-plugin/src/main/java/jar/MyMojo.java | Migrates goal/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3710/original-model/plugins/maven-mng3710-originalModel-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3710/original-model/plugins/maven-mng3710-directInvoke-plugin/src/main/java/jar/MyMojo.java | Migrates goal tag to @Mojo. |
| core-it-suite/src/test/resources/mng-3710/original-model/plugins/maven-mng3710-directInvoke-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3703/maven-mng3703-plugin/src/main/java/jar/RunMojo.java | Migrates goal/phase tags to @Mojo(defaultPhase=...). |
| core-it-suite/src/test/resources/mng-3703/maven-mng3703-plugin/src/main/java/jar/CheckReport.java | Migrates goal/execute/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3703/maven-mng3703-plugin/src/main/java/jar/CheckMojo.java | Migrates goal/execute tags to @Execute + @Mojo. |
| core-it-suite/src/test/resources/mng-3703/maven-mng3703-plugin/src/main/java/jar/AbstractCheckMojo.java | Migrates parameter tags to @Parameter. |
| core-it-suite/src/test/resources/mng-3703/maven-mng3703-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3694/maven-mng3694-plugin/src/main/java/plugin/MyMojo.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3694/maven-mng3694-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3693/maven-mng3693-plugin/src/main/java/plugin/MyMojo.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3693/maven-mng3693-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3684/maven-mng3684-plugin/src/main/java/plugin/MyReport.java | Migrates report goal/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3684/maven-mng3684-plugin/src/main/java/plugin/MyMojo.java | Migrates goal/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3684/maven-mng3684-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3652/test-plugin/src/main/java/org/apache/maven/its/mng3652/MyMojo.java | Migrates goal/phase/parameter tags and introduces @Inject constructor injection. |
| core-it-suite/src/test/resources/mng-3652/test-plugin/pom.xml | Adds maven-plugin-annotations + javax.inject dependencies (provided). |
| core-it-suite/src/test/resources/mng-3536/project/src/main/java/plugin/Mojo3563.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3536/project/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3536/plugin/src/main/java/plugin/Mojo3563.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3536/plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3498/maven-mng3498-plugin/src/main/java/plugin/TouchMojo.java | Migrates goal/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-3498/maven-mng3498-plugin/src/main/java/plugin/CheckMojo.java | Migrates execute/phase/parameter tags to @Execute + annotation-based mojo metadata. |
| core-it-suite/src/test/resources/mng-3498/maven-mng3498-plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3396/plugin/plugin/src/main/java/org/apache/maven/its/mng3396/NoopMojo.java | Migrates goal/phase/dependency-resolution tags to annotations. |
| core-it-suite/src/test/resources/mng-3396/plugin/plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-3372/direct-using-prefix/plugin/src/main/java/org/plugin/TestMojo.java | Migrates parameter tag to @Parameter and uses annotation-based @Mojo. |
| core-it-suite/src/test/resources/mng-3372/direct-using-prefix/plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-2771/plugin/src/main/java/org/apache/maven/its/it0124/LookupMojo.java | Migrates goal/parameter tags and adds @Inject constructor injection. |
| core-it-suite/src/test/resources/mng-2771/plugin/pom.xml | Adds maven-plugin-annotations + javax.inject dependencies (provided). |
| core-it-suite/src/test/resources/mng-2135/plugin/src/main/java/coreit/ItMojo.java | Migrates goal/parameter tags to @Mojo / @Parameter. |
| core-it-suite/src/test/resources/mng-2135/plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-1088/plugin/src/main/java/org/apache/maven/plugin/coreit/TouchMojo.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-1088/plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-0870/plugin/src/main/java/org/apache/maven/plugin/coreit/LoadMojo.java | Migrates goal/phase/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-0870/plugin/pom.xml | Adds maven-plugin-annotations dependency. |
| core-it-suite/src/test/resources/mng-0612/plugin/src/main/java/org/apache/maven/its/it0125/DependenciesMojo.java | Migrates goal/dependency-resolution/parameter tags to annotations. |
| core-it-suite/src/test/resources/mng-0612/plugin/pom.xml | Adds maven-plugin-annotations dependency. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| * | ||
| * @parameter expression="${project}" | ||
| */ | ||
| @Parameter(defaultValue = "${project}") |
| /** | ||
| * @parameter expression="${project}" | ||
| */ | ||
| @Parameter(defaultValue = "${project}") |
| /** | ||
| * @parameter default-value="${project}" | ||
| */ | ||
| @Parameter(defaultValue = "${project}") |
| * @parameter expression="${project}" | ||
| * @required | ||
| */ | ||
| @Parameter(defaultValue = "${project}", required = true) |
| * @parameter expression="${reactorProjects}" | ||
| * @required | ||
| */ | ||
| @Parameter(defaultValue = "${reactorProjects}", required = true) |
Member
|
even with small issues with readonly for MavenProject inject it looks ok for me. thanks @wilx |
Author
|
I have fixed the missing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
maven-plugin-annotationsprovidedscopeThis is the integration-testing companion to apache/maven#12708. It keeps the Maven 3.10.x integration-test fixtures compatible with the annotation-based plugin descriptor extraction used by that change.
Validation
The complete Maven 3.10.x integration-test reactor passed against a freshly built Maven 3.10.0-SNAPSHOT distribution:
The source distribution was built from apache/maven commit
61364e6904aa9c6f8cb48b238d37f45b3df2753a.