This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch maven-plugin-tools-3.x
in repository https://gitbox.apache.org/repos/asf/maven-plugin-tools.git


The following commit(s) were added to refs/heads/maven-plugin-tools-3.x by this 
push:
     new 69c653aa Update document to use Guice constructor injection
69c653aa is described below

commit 69c653aabe60923928644bb9e8b45f9ff0ac58ff
Author: Elliotte Rusty Harold <[email protected]>
AuthorDate: Mon Dec 23 16:34:59 2024 +0000

    Update document to use Guice constructor injection
    
    * Update document to use Guice constructor injection
    * Update index.apt
    
    (cherry picked from commit 4a5fe6a81c9f88583ad8dbd75c42d93bb9c6b1bd)
---
 .../src/site/apt/index.apt                         | 44 +++++++++++-----------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/maven-plugin-tools-annotations/src/site/apt/index.apt 
b/maven-plugin-tools-annotations/src/site/apt/index.apt
index dad471df..666af0ac 100644
--- a/maven-plugin-tools-annotations/src/site/apt/index.apt
+++ b/maven-plugin-tools-annotations/src/site/apt/index.apt
@@ -90,28 +90,6 @@ public class MyMojo
                 required = <false|true> )
     private String parameter;
 
-    @Component( role = MyComponentExtension.class,
-                hint = "..." )
-    private MyComponent component;
-
-    // pseudo-parameters (marked read-only) permitting injection of Maven 
build context objects
-    // sample objects taken from Maven API through 
PluginParameterExpressionEvaluator
-    //     
https://maven.apache.org/ref/current/maven-core/apidocs/org/apache/maven/plugin/PluginParameterExpressionEvaluator.html
-    // plugins targetting Maven 3.2.5+ (after MNG-5695) should not use these 
pseudo-parameters any more,
-    // but @Component and Maven APIs to get better compiler-time checks
-
-    // @Parameter( defaultValue = "${session}", readonly = true )
-    @Component // since Maven 3.2.5, thanks to MNG-5695
-    private MavenSession session;
-
-    // @Parameter( defaultValue = "${project}", readonly = true )
-    @Component // since Maven 3.2.5, thanks to MNG-5695
-    private MavenProject project;
-
-    // @Parameter( defaultValue = "${mojoExecution}", readonly = true )
-    @Component // since Maven 3.2.5, thanks to MNG-5695
-    private MojoExecution mojoExecution;
-
     @Parameter( defaultValue = "${reactorProjects}", readonly = true )
     // prefer using session.getProjects()
     private List<MavenProject> reactorProjects;
@@ -132,6 +110,28 @@ public class MyMojo
     // prefer using project.getBuild().getDirectory()
     private File target;
 
+    // pseudo-parameters (marked read-only) permitting injection of Maven 
build context objects
+    // sample objects taken from Maven API through 
PluginParameterExpressionEvaluator
+    //     
https://maven.apache.org/ref/current/maven-core/apidocs/org/apache/maven/plugin/PluginParameterExpressionEvaluator.html
+    // plugins targeting Maven 3.2.5+ (after MNG-5695) should not use these 
pseudo-parameters any more,
+    // but @Inject and Maven APIs to get better compiler-time checks
+
+    private final MyComponent component;
+
+    private final MavenSession session;
+
+    private final MavenProject project;
+
+    private final MojoExecution mojoExecution;
+
+    @Inject
+    public MyMojo(MyComponent component, MavenSession session, MavenProject 
project, MojoExecution mojoExecution) {
+        this.component = component;
+        this.session = session;
+        this.project = project;
+        this.mojoExecution = mojoExecution;
+    }
+
     /**
      * @Parameter for methods can be used only with public setter methods
     */

Reply via email to