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
*/