diff --git a/maven-plugin-plugin/pom.xml b/maven-plugin-plugin/pom.xml
index 2d9d98d7..dfbbaba1 100644
--- a/maven-plugin-plugin/pom.xml
+++ b/maven-plugin-plugin/pom.xml
@@ -130,6 +130,12 @@
maven-resolver-util
${resolverVersion}
+
+ javax.inject
+ javax.inject
+ 1
+ provided
+
diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java
index d6524aae..3dda7fd2 100644
--- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java
+++ b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java
@@ -23,7 +23,6 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
@@ -34,11 +33,6 @@
*
*/
public abstract class AbstractGeneratorMojo extends AbstractMojo {
- /**
- * The project currently being built.
- */
- @Component
- protected MavenProject project;
/**
* The goal prefix that will appear before the ":".
@@ -67,6 +61,15 @@ public abstract class AbstractGeneratorMojo extends AbstractMojo {
*/
protected static final String LS = System.lineSeparator();
+ /**
+ * The project currently being built.
+ */
+ protected final MavenProject project;
+
+ protected AbstractGeneratorMojo(MavenProject project) {
+ this.project = project;
+ }
+
protected abstract void generate() throws MojoExecutionException;
@Override
diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java
index 862edeae..8434aa55 100644
--- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java
+++ b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.plugin.plugin;
+import javax.inject.Inject;
+
import java.io.File;
import java.net.URI;
import java.util.Arrays;
@@ -38,6 +40,7 @@
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.apache.maven.project.MavenProject;
import org.apache.maven.tools.plugin.DefaultPluginToolsRequest;
import org.apache.maven.tools.plugin.ExtendedPluginDescriptor;
import org.apache.maven.tools.plugin.PluginToolsRequest;
@@ -262,11 +265,16 @@ public class DescriptorGeneratorMojo extends AbstractGeneratorMojo {
/**
* The component used for scanning the source tree for mojos.
*/
- @Component
- private MojoScanner mojoScanner;
+ private final MojoScanner mojoScanner;
- @Component
- protected BuildContext buildContext;
+ protected final BuildContext buildContext;
+
+ @Inject
+ public DescriptorGeneratorMojo(MavenProject project, MojoScanner mojoScanner, BuildContext buildContext) {
+ super(project);
+ this.mojoScanner = mojoScanner;
+ this.buildContext = buildContext;
+ }
public void generate() throws MojoExecutionException {
diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java
index eeadd65e..00a7f3d6 100644
--- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java
+++ b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/HelpGeneratorMojo.java
@@ -18,6 +18,7 @@
*/
package org.apache.maven.plugin.plugin;
+import javax.inject.Inject;
import javax.lang.model.SourceVersion;
import java.io.File;
@@ -25,11 +26,11 @@
import java.util.stream.Collectors;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.apache.maven.project.MavenProject;
import org.apache.maven.tools.plugin.generator.GeneratorException;
import org.apache.maven.tools.plugin.generator.PluginHelpGenerator;
import org.codehaus.plexus.util.StringUtils;
@@ -71,8 +72,13 @@ public class HelpGeneratorMojo extends AbstractGeneratorMojo {
/**
* Velocity component.
*/
- @Component
- private VelocityComponent velocity;
+ private final VelocityComponent velocity;
+
+ @Inject
+ public HelpGeneratorMojo(MavenProject project, VelocityComponent velocity) {
+ super(project);
+ this.velocity = velocity;
+ }
String getHelpPackageName() {
String packageName = null;
diff --git a/maven-plugin-plugin/src/test/java/org/apache/maven/plugin/plugin/HelpGeneratorMojoTest.java b/maven-plugin-plugin/src/test/java/org/apache/maven/plugin/plugin/HelpGeneratorMojoTest.java
index 748a4ad2..3473ce35 100644
--- a/maven-plugin-plugin/src/test/java/org/apache/maven/plugin/plugin/HelpGeneratorMojoTest.java
+++ b/maven-plugin-plugin/src/test/java/org/apache/maven/plugin/plugin/HelpGeneratorMojoTest.java
@@ -40,8 +40,7 @@ public static Stream packageNameShouldBeCorrect() {
@ParameterizedTest
@MethodSource
void packageNameShouldBeCorrect(MavenProject project, String expectedPackageName) {
- HelpGeneratorMojo mojo = new HelpGeneratorMojo();
- mojo.project = project;
+ HelpGeneratorMojo mojo = new HelpGeneratorMojo(project, null);
String packageName = mojo.getHelpPackageName();
assertEquals(expectedPackageName, packageName);