Skip to content

Commit fa863d1

Browse files
elharohboutemy
authored andcommitted
Convert to Guice injection (#218)
* Prefer Guice to Plexus
1 parent a27b283 commit fa863d1

8 files changed

Lines changed: 107 additions & 42 deletions

File tree

pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,14 +293,19 @@ under the License.
293293
<version>${version.maven-plugin-tools}</version>
294294
<scope>provided</scope>
295295
</dependency>
296+
<dependency>
297+
<groupId>javax.inject</groupId>
298+
<artifactId>javax.inject</artifactId>
299+
<version>1</version>
300+
<scope>provided</scope>
301+
</dependency>
296302

297303
<!-- Plexus -->
298304
<dependency>
299305
<groupId>org.eclipse.sisu</groupId>
300306
<artifactId>org.eclipse.sisu.plexus</artifactId>
301307
<scope>provided</scope>
302308
</dependency>
303-
304309
<dependency>
305310
<groupId>org.codehaus.plexus</groupId>
306311
<artifactId>plexus-archiver</artifactId>

src/main/java/org/apache/maven/plugins/site/descriptor/AbstractSiteDescriptorMojo.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
*/
1919
package org.apache.maven.plugins.site.descriptor;
2020

21-
import javax.inject.Inject;
22-
2321
import java.io.File;
2422
import java.util.List;
2523
import java.util.Locale;
@@ -41,11 +39,6 @@
4139
* @since 3.5
4240
*/
4341
public abstract class AbstractSiteDescriptorMojo extends AbstractSiteMojo {
44-
/**
45-
* The component for assembling site model inheritance.
46-
*/
47-
@Inject
48-
private SiteModelInheritanceAssembler assembler;
4942

5043
/**
5144
* The reactor projects.
@@ -87,6 +80,15 @@ public abstract class AbstractSiteDescriptorMojo extends AbstractSiteMojo {
8780
@Parameter(property = "relativizeSiteLinks", defaultValue = "true")
8881
private boolean relativizeSiteLinks;
8982

83+
/**
84+
* The component for assembling site model inheritance.
85+
*/
86+
private final SiteModelInheritanceAssembler assembler;
87+
88+
protected AbstractSiteDescriptorMojo(SiteModelInheritanceAssembler assembler) {
89+
this.assembler = assembler;
90+
}
91+
9092
protected SiteModel prepareSiteModel(Locale locale) throws MojoExecutionException {
9193
SiteModel siteModel;
9294
try {

src/main/java/org/apache/maven/plugins/site/descriptor/EffectiveSiteMojo.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,16 @@
1818
*/
1919
package org.apache.maven.plugins.site.descriptor;
2020

21+
import javax.inject.Inject;
22+
2123
import java.io.File;
2224
import java.io.IOException;
2325
import java.io.StringWriter;
2426
import java.io.Writer;
2527

2628
import org.apache.commons.lang3.StringUtils;
2729
import org.apache.maven.doxia.site.SiteModel;
30+
import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
2831
import org.apache.maven.doxia.site.io.xpp3.SiteXpp3Writer;
2932
import org.apache.maven.plugin.MojoExecutionException;
3033
import org.apache.maven.plugin.MojoFailureException;
@@ -54,6 +57,11 @@ public class EffectiveSiteMojo extends AbstractSiteDescriptorMojo {
5457
@Parameter(property = "output")
5558
protected File output;
5659

60+
@Inject
61+
public EffectiveSiteMojo(SiteModelInheritanceAssembler assembler) {
62+
super(assembler);
63+
}
64+
5765
/**
5866
* {@inheritDoc}
5967
*/

src/main/java/org/apache/maven/plugins/site/descriptor/SiteDescriptorAttachMojo.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.io.IOException;
2525
import java.util.Locale;
2626

27+
import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
2728
import org.apache.maven.plugin.MojoExecutionException;
2829
import org.apache.maven.plugins.annotations.LifecyclePhase;
2930
import org.apache.maven.plugins.annotations.Mojo;
@@ -51,21 +52,27 @@ public class SiteDescriptorAttachMojo extends AbstractSiteDescriptorMojo {
5152
@Parameter(property = "basedir", required = true, readonly = true)
5253
private File basedir;
5354

54-
/**
55-
* Maven ProjectHelper.
56-
*
57-
* @since 2.1.1
58-
*/
59-
@Inject
60-
private MavenProjectHelper projectHelper;
61-
6255
/**
6356
* Attach site descriptor only if packaging is pom.
6457
* @since 3.0
6558
*/
6659
@Parameter(defaultValue = "true")
6760
private boolean pomPackagingOnly;
6861

62+
/**
63+
* Maven ProjectHelper.
64+
*
65+
* @since 2.1.1
66+
*/
67+
private final MavenProjectHelper projectHelper;
68+
69+
@Inject
70+
public SiteDescriptorAttachMojo(SiteModelInheritanceAssembler assembler, MavenProjectHelper projectHelper) {
71+
super(assembler);
72+
this.projectHelper = projectHelper;
73+
}
74+
75+
@Override
6976
public void execute() throws MojoExecutionException {
7077
if (pomPackagingOnly && !"pom".equals(project.getPackaging())) {
7178
// https://issues.apache.org/jira/browse/MSITE-597

src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
*/
1919
package org.apache.maven.plugins.site.render;
2020

21-
import javax.inject.Inject;
22-
2321
import java.io.File;
2422
import java.io.IOException;
2523
import java.nio.charset.Charset;
@@ -38,6 +36,7 @@
3836
import org.apache.maven.doxia.site.Menu;
3937
import org.apache.maven.doxia.site.MenuItem;
4038
import org.apache.maven.doxia.site.SiteModel;
39+
import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
4140
import org.apache.maven.doxia.siterenderer.DocumentRenderer;
4241
import org.apache.maven.doxia.siterenderer.DocumentRenderingContext;
4342
import org.apache.maven.doxia.siterenderer.RendererException;
@@ -95,12 +94,6 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
9594
@Parameter
9695
private Map<String, Object> attributes;
9796

98-
/**
99-
* Site renderer.
100-
*/
101-
@Inject
102-
protected SiteRenderer siteRenderer;
103-
10497
/**
10598
* Directory containing generated documentation in source format (Doxia supported markup).
10699
* 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
177170
@Parameter(defaultValue = "${project.build.outputTimestamp}")
178171
protected String outputTimestamp;
179172

180-
@Inject
181-
protected MavenReportExecutor mavenReportExecutor;
173+
/**
174+
* Site renderer.
175+
*/
176+
protected final SiteRenderer siteRenderer;
177+
178+
protected final MavenReportExecutor mavenReportExecutor;
179+
180+
protected AbstractSiteRenderingMojo(
181+
SiteModelInheritanceAssembler assembler,
182+
SiteRenderer siteRenderer,
183+
MavenReportExecutor mavenReportExecutor) {
184+
super(assembler);
185+
this.siteRenderer = siteRenderer;
186+
this.mavenReportExecutor = mavenReportExecutor;
187+
}
182188

183189
/**
184190
* Gets the input files encoding.

src/main/java/org/apache/maven/plugins/site/render/SiteJarMojo.java

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,23 @@
1919
package org.apache.maven.plugins.site.render;
2020

2121
import javax.inject.Inject;
22-
import javax.inject.Named;
2322

2423
import java.io.File;
2524
import java.io.IOException;
2625

2726
import org.apache.maven.archiver.MavenArchiveConfiguration;
2827
import org.apache.maven.archiver.MavenArchiver;
2928
import org.apache.maven.artifact.DependencyResolutionRequiredException;
29+
import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
30+
import org.apache.maven.doxia.siterenderer.SiteRenderer;
3031
import org.apache.maven.plugin.MojoExecutionException;
3132
import org.apache.maven.plugin.MojoFailureException;
3233
import org.apache.maven.plugins.annotations.LifecyclePhase;
3334
import org.apache.maven.plugins.annotations.Mojo;
3435
import org.apache.maven.plugins.annotations.Parameter;
3536
import org.apache.maven.plugins.annotations.ResolutionScope;
3637
import org.apache.maven.project.MavenProjectHelper;
38+
import org.apache.maven.reporting.exec.MavenReportExecutor;
3739
import org.codehaus.plexus.archiver.ArchiverException;
3840
import org.codehaus.plexus.archiver.jar.JarArchiver;
3941
import org.codehaus.plexus.archiver.jar.ManifestException;
@@ -70,27 +72,12 @@ public class SiteJarMojo extends SiteMojo {
7072
@Parameter(property = "project.build.finalName", required = true)
7173
private String finalName;
7274

73-
/**
74-
* Used for attaching the artifact in the project.
75-
*/
76-
@Inject
77-
private MavenProjectHelper projectHelper;
78-
7975
/**
8076
* Specifies whether to attach the generated artifact to the project.
8177
*/
8278
@Parameter(property = "site.attach", defaultValue = "true")
8379
private boolean attach;
8480

85-
/**
86-
* The Jar archiver.
87-
*
88-
* @since 3.1
89-
*/
90-
@Inject
91-
@Named("jar")
92-
private JarArchiver jarArchiver;
93-
9481
/**
9582
* The archive configuration to use.
9683
* 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 {
118105
@Parameter
119106
private String[] archiveExcludes;
120107

108+
/**
109+
* Used for attaching the artifact in the project.
110+
*/
111+
private final MavenProjectHelper projectHelper;
112+
113+
/**
114+
* The Jar archiver.
115+
*
116+
* @since 3.1
117+
*/
118+
private final JarArchiver jarArchiver;
119+
120+
@Inject
121+
public SiteJarMojo(
122+
SiteModelInheritanceAssembler assembler,
123+
SiteRenderer siteRenderer,
124+
MavenReportExecutor mavenReportExecutor,
125+
MavenProjectHelper projectHelper,
126+
JarArchiver jarArchiver) {
127+
super(assembler, siteRenderer, mavenReportExecutor);
128+
this.projectHelper = projectHelper;
129+
this.jarArchiver = jarArchiver;
130+
}
131+
121132
/**
122133
* @see org.apache.maven.plugin.Mojo#execute()
123134
*/

src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*/
1919
package org.apache.maven.plugins.site.render;
2020

21+
import javax.inject.Inject;
22+
2123
import java.io.File;
2224
import java.io.IOException;
2325
import java.util.ArrayList;
@@ -28,9 +30,11 @@
2830
import java.util.Map;
2931
import java.util.TreeMap;
3032

33+
import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
3134
import org.apache.maven.doxia.siterenderer.DocumentRenderer;
3235
import org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer;
3336
import org.apache.maven.doxia.siterenderer.RendererException;
37+
import org.apache.maven.doxia.siterenderer.SiteRenderer;
3438
import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
3539
import org.apache.maven.doxia.tools.SiteTool;
3640
import org.apache.maven.execution.MavenSession;
@@ -42,6 +46,7 @@
4246
import org.apache.maven.project.MavenProject;
4347
import org.apache.maven.reporting.MavenReportException;
4448
import org.apache.maven.reporting.exec.MavenReportExecution;
49+
import org.apache.maven.reporting.exec.MavenReportExecutor;
4550
import org.apache.maven.shared.utils.logging.MessageBuilder;
4651

4752
import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
@@ -80,6 +85,14 @@ public class SiteMojo extends AbstractSiteRenderingMojo {
8085
@Parameter(property = "validate", defaultValue = "false")
8186
private boolean validate;
8287

88+
@Inject
89+
public SiteMojo(
90+
SiteModelInheritanceAssembler assembler,
91+
SiteRenderer siteRenderer,
92+
MavenReportExecutor mavenReportExecutor) {
93+
super(assembler, siteRenderer, mavenReportExecutor);
94+
}
95+
8396
/**
8497
* {@inheritDoc}
8598
*/

src/main/java/org/apache/maven/plugins/site/run/SiteRunMojo.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*/
1919
package org.apache.maven.plugins.site.run;
2020

21+
import javax.inject.Inject;
22+
2123
import java.io.File;
2224
import java.io.FileOutputStream;
2325
import java.io.IOException;
@@ -28,7 +30,9 @@
2830
import java.util.Locale;
2931
import java.util.Map;
3032

33+
import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
3134
import org.apache.maven.doxia.siterenderer.DocumentRenderer;
35+
import org.apache.maven.doxia.siterenderer.SiteRenderer;
3236
import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
3337
import org.apache.maven.doxia.tools.SiteTool;
3438
import org.apache.maven.plugin.MojoExecutionException;
@@ -38,6 +42,7 @@
3842
import org.apache.maven.plugins.annotations.ResolutionScope;
3943
import org.apache.maven.plugins.site.render.AbstractSiteRenderingMojo;
4044
import org.apache.maven.reporting.exec.MavenReportExecution;
45+
import org.apache.maven.reporting.exec.MavenReportExecutor;
4146
import org.codehaus.plexus.util.IOUtil;
4247
import org.eclipse.jetty.server.Server;
4348
import org.eclipse.jetty.webapp.WebAppContext;
@@ -71,6 +76,14 @@ public class SiteRunMojo extends AbstractSiteRenderingMojo {
7176
@Parameter(property = "port", defaultValue = "8080")
7277
private int port;
7378

79+
@Inject
80+
public SiteRunMojo(
81+
SiteModelInheritanceAssembler assembler,
82+
SiteRenderer siteRenderer,
83+
MavenReportExecutor mavenReportExecutor) {
84+
super(assembler, siteRenderer, mavenReportExecutor);
85+
}
86+
7487
/**
7588
* @see org.apache.maven.plugin.AbstractMojo#execute()
7689
*/

0 commit comments

Comments
 (0)