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