Skip to content

Migrate legacy plugin Javadoc annotations - #432

Merged
slachiewicz merged 2 commits into
apache:maven-3.10.xfrom
wilx:agent/maven3-legacy-annotations
Aug 9, 2026
Merged

Migrate legacy plugin Javadoc annotations#432
slachiewicz merged 2 commits into
apache:maven-3.10.xfrom
wilx:agent/maven3-legacy-annotations

Conversation

@wilx

@wilx wilx commented Aug 8, 2026

Copy link
Copy Markdown

Summary

  • migrate Maven 3.x integration-test plugin fixtures from legacy Maven Plugin Tools Javadoc tags to maven-plugin-annotations
  • add the annotation dependencies with provided scope
  • use constructor injection where the migrated fixtures require component injection

This 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:

Tests run: 867, Failures: 0, Errors: 0, Skipped: 39
BUILD SUCCESS

The source distribution was built from apache/maven commit 61364e6904aa9c6f8cb48b238d37f45b3df2753a.

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.
@wilx
wilx marked this pull request as ready for review August 8, 2026 12:35
@slachiewicz slachiewicz added the enhancement New feature or request label Aug 8, 2026
@slawekjaranowski
slawekjaranowski requested a lite review from Copilot August 9, 2026 09:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 @requiresDependencyResolution Javadoc tags to @Mojo, @Parameter, @Execute, etc.
  • Added org.apache.maven.plugin-tools:maven-plugin-annotations dependencies (with provided scope) to fixture POMs.
  • Replaced legacy @component-style injection in a couple of fixtures with constructor injection via javax.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)
@slawekjaranowski

Copy link
Copy Markdown
Member

even with small issues with readonly for MavenProject inject it looks ok for me.

thanks @wilx

@wilx

wilx commented Aug 9, 2026

Copy link
Copy Markdown
Author

I have fixed the missing readonly.

@slachiewicz
slachiewicz merged commit 98b4d2d into apache:maven-3.10.x Aug 9, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants