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

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

commit 2486282f5261457c6521a4caf2bc4808543a51a3
Author: Elliotte Rusty Harold <[email protected]>
AuthorDate: Thu Dec 26 12:44:38 2024 +0000

    Convert to Guice injection (#218)
    
    * Prefer Guice to Plexus
---
 pom.xml                                            |  7 +++-
 .../descriptor/AbstractSiteDescriptorMojo.java     | 16 ++++----
 .../plugins/site/descriptor/EffectiveSiteMojo.java |  8 ++++
 .../site/descriptor/SiteDescriptorAttachMojo.java  | 23 ++++++++----
 .../site/render/AbstractSiteRenderingMojo.java     | 26 ++++++++-----
 .../maven/plugins/site/render/SiteJarMojo.java     | 43 ++++++++++++++--------
 .../apache/maven/plugins/site/render/SiteMojo.java | 13 +++++++
 .../apache/maven/plugins/site/run/SiteRunMojo.java | 13 +++++++
 8 files changed, 107 insertions(+), 42 deletions(-)

diff --git a/pom.xml b/pom.xml
index 36eeb580..50e395b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -293,6 +293,12 @@ under the License.
       <version>${version.maven-plugin-tools}</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>javax.inject</groupId>
+      <artifactId>javax.inject</artifactId>
+      <version>1</version>
+      <scope>provided</scope>
+    </dependency>
 
     <!-- Plexus -->
     <dependency>
@@ -300,7 +306,6 @@ under the License.
       <artifactId>org.eclipse.sisu.plexus</artifactId>
       <scope>provided</scope>
     </dependency>
-
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-archiver</artifactId>
diff --git 
a/src/main/java/org/apache/maven/plugins/site/descriptor/AbstractSiteDescriptorMojo.java
 
b/src/main/java/org/apache/maven/plugins/site/descriptor/AbstractSiteDescriptorMojo.java
index c3793930..4f84a7d6 100644
--- 
a/src/main/java/org/apache/maven/plugins/site/descriptor/AbstractSiteDescriptorMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/site/descriptor/AbstractSiteDescriptorMojo.java
@@ -18,8 +18,6 @@
  */
 package org.apache.maven.plugins.site.descriptor;
 
-import javax.inject.Inject;
-
 import java.io.File;
 import java.util.List;
 import java.util.Locale;
@@ -41,11 +39,6 @@ import org.eclipse.aether.repository.RemoteRepository;
  * @since 3.5
  */
 public abstract class AbstractSiteDescriptorMojo extends AbstractSiteMojo {
-    /**
-     * The component for assembling site model inheritance.
-     */
-    @Inject
-    private SiteModelInheritanceAssembler assembler;
 
     /**
      * The reactor projects.
@@ -87,6 +80,15 @@ public abstract class AbstractSiteDescriptorMojo extends 
AbstractSiteMojo {
     @Parameter(property = "relativizeSiteLinks", defaultValue = "true")
     private boolean relativizeSiteLinks;
 
+    /**
+     * The component for assembling site model inheritance.
+     */
+    private final SiteModelInheritanceAssembler assembler;
+
+    protected AbstractSiteDescriptorMojo(SiteModelInheritanceAssembler 
assembler) {
+        this.assembler = assembler;
+    }
+
     protected SiteModel prepareSiteModel(Locale locale) throws 
MojoExecutionException {
         SiteModel siteModel;
         try {
diff --git 
a/src/main/java/org/apache/maven/plugins/site/descriptor/EffectiveSiteMojo.java 
b/src/main/java/org/apache/maven/plugins/site/descriptor/EffectiveSiteMojo.java
index e4c0046a..bfea34f3 100644
--- 
a/src/main/java/org/apache/maven/plugins/site/descriptor/EffectiveSiteMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/site/descriptor/EffectiveSiteMojo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.maven.plugins.site.descriptor;
 
+import javax.inject.Inject;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
@@ -25,6 +27,7 @@ import java.io.Writer;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.maven.doxia.site.SiteModel;
+import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
 import org.apache.maven.doxia.site.io.xpp3.SiteXpp3Writer;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -54,6 +57,11 @@ public class EffectiveSiteMojo extends 
AbstractSiteDescriptorMojo {
     @Parameter(property = "output")
     protected File output;
 
+    @Inject
+    public EffectiveSiteMojo(SiteModelInheritanceAssembler assembler) {
+        super(assembler);
+    }
+
     /**
      * {@inheritDoc}
      */
diff --git 
a/src/main/java/org/apache/maven/plugins/site/descriptor/SiteDescriptorAttachMojo.java
 
b/src/main/java/org/apache/maven/plugins/site/descriptor/SiteDescriptorAttachMojo.java
index c08d860e..8bf5012b 100644
--- 
a/src/main/java/org/apache/maven/plugins/site/descriptor/SiteDescriptorAttachMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/site/descriptor/SiteDescriptorAttachMojo.java
@@ -24,6 +24,7 @@ import java.io.File;
 import java.io.IOException;
 import java.util.Locale;
 
+import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
@@ -51,14 +52,6 @@ public class SiteDescriptorAttachMojo extends 
AbstractSiteDescriptorMojo {
     @Parameter(property = "basedir", required = true, readonly = true)
     private File basedir;
 
-    /**
-     * Maven ProjectHelper.
-     *
-     * @since 2.1.1
-     */
-    @Inject
-    private MavenProjectHelper projectHelper;
-
     /**
      * Attach site descriptor only if packaging is pom.
      * @since 3.0
@@ -66,6 +59,20 @@ public class SiteDescriptorAttachMojo extends 
AbstractSiteDescriptorMojo {
     @Parameter(defaultValue = "true")
     private boolean pomPackagingOnly;
 
+    /**
+     * Maven ProjectHelper.
+     *
+     * @since 2.1.1
+     */
+    private final MavenProjectHelper projectHelper;
+
+    @Inject
+    public SiteDescriptorAttachMojo(SiteModelInheritanceAssembler assembler, 
MavenProjectHelper projectHelper) {
+        super(assembler);
+        this.projectHelper = projectHelper;
+    }
+
+    @Override
     public void execute() throws MojoExecutionException {
         if (pomPackagingOnly && !"pom".equals(project.getPackaging())) {
             // https://issues.apache.org/jira/browse/MSITE-597
diff --git 
a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
 
b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
index cbef2d3f..72270446 100644
--- 
a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
@@ -18,8 +18,6 @@
  */
 package org.apache.maven.plugins.site.render;
 
-import javax.inject.Inject;
-
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
@@ -38,6 +36,7 @@ import org.apache.maven.artifact.Artifact;
 import org.apache.maven.doxia.site.Menu;
 import org.apache.maven.doxia.site.MenuItem;
 import org.apache.maven.doxia.site.SiteModel;
+import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
 import org.apache.maven.doxia.siterenderer.DocumentRenderer;
 import org.apache.maven.doxia.siterenderer.DocumentRenderingContext;
 import org.apache.maven.doxia.siterenderer.RendererException;
@@ -95,12 +94,6 @@ public abstract class AbstractSiteRenderingMojo extends 
AbstractSiteDescriptorMo
     @Parameter
     private Map<String, Object> attributes;
 
-    /**
-     * Site renderer.
-     */
-    @Inject
-    protected SiteRenderer siteRenderer;
-
     /**
      * Directory containing generated documentation in source format (Doxia 
supported markup).
      * This is used to pick up other source docs that might have been 
generated at build time (by reports or any other
@@ -177,8 +170,21 @@ public abstract class AbstractSiteRenderingMojo extends 
AbstractSiteDescriptorMo
     @Parameter(defaultValue = "${project.build.outputTimestamp}")
     protected String outputTimestamp;
 
-    @Inject
-    protected MavenReportExecutor mavenReportExecutor;
+    /**
+     * Site renderer.
+     */
+    protected final SiteRenderer siteRenderer;
+
+    protected final MavenReportExecutor mavenReportExecutor;
+
+    protected AbstractSiteRenderingMojo(
+            SiteModelInheritanceAssembler assembler,
+            SiteRenderer siteRenderer,
+            MavenReportExecutor mavenReportExecutor) {
+        super(assembler);
+        this.siteRenderer = siteRenderer;
+        this.mavenReportExecutor = mavenReportExecutor;
+    }
 
     /**
      * Gets the input files encoding.
diff --git 
a/src/main/java/org/apache/maven/plugins/site/render/SiteJarMojo.java 
b/src/main/java/org/apache/maven/plugins/site/render/SiteJarMojo.java
index 9e3856bf..863d95d4 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/SiteJarMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/SiteJarMojo.java
@@ -19,7 +19,6 @@
 package org.apache.maven.plugins.site.render;
 
 import javax.inject.Inject;
-import javax.inject.Named;
 
 import java.io.File;
 import java.io.IOException;
@@ -27,6 +26,8 @@ import java.io.IOException;
 import org.apache.maven.archiver.MavenArchiveConfiguration;
 import org.apache.maven.archiver.MavenArchiver;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
+import org.apache.maven.doxia.siterenderer.SiteRenderer;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
@@ -34,6 +35,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.MavenProjectHelper;
+import org.apache.maven.reporting.exec.MavenReportExecutor;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.jar.JarArchiver;
 import org.codehaus.plexus.archiver.jar.ManifestException;
@@ -70,27 +72,12 @@ public class SiteJarMojo extends SiteMojo {
     @Parameter(property = "project.build.finalName", required = true)
     private String finalName;
 
-    /**
-     * Used for attaching the artifact in the project.
-     */
-    @Inject
-    private MavenProjectHelper projectHelper;
-
     /**
      * Specifies whether to attach the generated artifact to the project.
      */
     @Parameter(property = "site.attach", defaultValue = "true")
     private boolean attach;
 
-    /**
-     * The Jar archiver.
-     *
-     * @since 3.1
-     */
-    @Inject
-    @Named("jar")
-    private JarArchiver jarArchiver;
-
     /**
      * The archive configuration to use.
      * See <a 
href="http://maven.apache.org/shared/maven-archiver/index.html";>Maven Archiver 
Reference</a>.
@@ -118,6 +105,30 @@ public class SiteJarMojo extends SiteMojo {
     @Parameter
     private String[] archiveExcludes;
 
+    /**
+     * Used for attaching the artifact in the project.
+     */
+    private final MavenProjectHelper projectHelper;
+
+    /**
+     * The Jar archiver.
+     *
+     * @since 3.1
+     */
+    private final JarArchiver jarArchiver;
+
+    @Inject
+    public SiteJarMojo(
+            SiteModelInheritanceAssembler assembler,
+            SiteRenderer siteRenderer,
+            MavenReportExecutor mavenReportExecutor,
+            MavenProjectHelper projectHelper,
+            JarArchiver jarArchiver) {
+        super(assembler, siteRenderer, mavenReportExecutor);
+        this.projectHelper = projectHelper;
+        this.jarArchiver = jarArchiver;
+    }
+
     /**
      * @see org.apache.maven.plugin.Mojo#execute()
      */
diff --git a/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java 
b/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java
index 4703f393..14c86500 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.maven.plugins.site.render;
 
+import javax.inject.Inject;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -28,9 +30,11 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
 import org.apache.maven.doxia.siterenderer.DocumentRenderer;
 import org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer;
 import org.apache.maven.doxia.siterenderer.RendererException;
+import org.apache.maven.doxia.siterenderer.SiteRenderer;
 import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
 import org.apache.maven.doxia.tools.SiteTool;
 import org.apache.maven.execution.MavenSession;
@@ -42,6 +46,7 @@ import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.MavenReportException;
 import org.apache.maven.reporting.exec.MavenReportExecution;
+import org.apache.maven.reporting.exec.MavenReportExecutor;
 import org.apache.maven.shared.utils.logging.MessageBuilder;
 
 import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
@@ -80,6 +85,14 @@ public class SiteMojo extends AbstractSiteRenderingMojo {
     @Parameter(property = "validate", defaultValue = "false")
     private boolean validate;
 
+    @Inject
+    public SiteMojo(
+            SiteModelInheritanceAssembler assembler,
+            SiteRenderer siteRenderer,
+            MavenReportExecutor mavenReportExecutor) {
+        super(assembler, siteRenderer, mavenReportExecutor);
+    }
+
     /**
      * {@inheritDoc}
      */
diff --git a/src/main/java/org/apache/maven/plugins/site/run/SiteRunMojo.java 
b/src/main/java/org/apache/maven/plugins/site/run/SiteRunMojo.java
index eb2ad981..a8b785a3 100644
--- a/src/main/java/org/apache/maven/plugins/site/run/SiteRunMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/run/SiteRunMojo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.maven.plugins.site.run;
 
+import javax.inject.Inject;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -28,7 +30,9 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
 import org.apache.maven.doxia.siterenderer.DocumentRenderer;
+import org.apache.maven.doxia.siterenderer.SiteRenderer;
 import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
 import org.apache.maven.doxia.tools.SiteTool;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -38,6 +42,7 @@ import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.plugins.site.render.AbstractSiteRenderingMojo;
 import org.apache.maven.reporting.exec.MavenReportExecution;
+import org.apache.maven.reporting.exec.MavenReportExecutor;
 import org.codehaus.plexus.util.IOUtil;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.webapp.WebAppContext;
@@ -71,6 +76,14 @@ public class SiteRunMojo extends AbstractSiteRenderingMojo {
     @Parameter(property = "port", defaultValue = "8080")
     private int port;
 
+    @Inject
+    public SiteRunMojo(
+            SiteModelInheritanceAssembler assembler,
+            SiteRenderer siteRenderer,
+            MavenReportExecutor mavenReportExecutor) {
+        super(assembler, siteRenderer, mavenReportExecutor);
+    }
+
     /**
      * @see org.apache.maven.plugin.AbstractMojo#execute()
      */

Reply via email to