Skip to content

Commit 69c1ba7

Browse files
authored
Migrate from Plexus to Sisu Guice (#341)
* Migrate from Plexus to Sisu Guice * no inject on abstract classes=
1 parent 39857ea commit 69c1ba7

22 files changed

+504
-37
lines changed

pom.xml

+8
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,14 @@ under the License.
231231
<!-- Do not upgrade, leads to IT failures, needs analysis -->
232232
<version>3.4.0</version>
233233
</dependency>
234+
235+
<dependency>
236+
<groupId>org.eclipse.sisu</groupId>
237+
<artifactId>org.eclipse.sisu.plexus</artifactId>
238+
<version>0.9.0.M3</version>
239+
<scope>test</scope>
240+
</dependency>
241+
234242
<!-- Doxia -->
235243
<dependency>
236244
<groupId>org.apache.maven.doxia</groupId>

src/main/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojo.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@
7777
import org.apache.maven.plugin.AbstractMojo;
7878
import org.apache.maven.plugin.MojoExecutionException;
7979
import org.apache.maven.plugin.MojoFailureException;
80-
import org.apache.maven.plugins.annotations.Component;
8180
import org.apache.maven.plugins.annotations.Parameter;
8281
import org.apache.maven.project.MavenProject;
8382
import org.apache.maven.settings.Settings;
@@ -219,9 +218,12 @@ public abstract class AbstractFixJavadocMojo extends AbstractMojo {
219218
/**
220219
* Input handler, needed for command line handling.
221220
*/
222-
@Component
223221
private InputHandler inputHandler;
224222

223+
public AbstractFixJavadocMojo(InputHandler inputHandler) {
224+
this.inputHandler = inputHandler;
225+
}
226+
225227
// ----------------------------------------------------------------------
226228
// Mojo parameters
227229
// ----------------------------------------------------------------------

src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java

+18-13
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
import org.apache.maven.plugin.MojoExecution;
7575
import org.apache.maven.plugin.MojoExecutionException;
7676
import org.apache.maven.plugin.MojoFailureException;
77-
import org.apache.maven.plugins.annotations.Component;
7877
import org.apache.maven.plugins.annotations.Parameter;
7978
import org.apache.maven.plugins.javadoc.options.BootclasspathArtifact;
8079
import org.apache.maven.plugins.javadoc.options.DocletArtifact;
@@ -205,7 +204,7 @@ public abstract class AbstractJavadocMojo extends AbstractMojo {
205204
protected static final String FILES_FILE_NAME = "files";
206205

207206
/**
208-
* Default css file name, used as file name in the output directory for the temporary custom stylesheet file
207+
* Default CSS file name, used as file name in the output directory for the temporary custom stylesheet file
209208
* loaded from classloader resources.
210209
*/
211210
private static final String DEFAULT_CSS_NAME = "stylesheet.css";
@@ -260,9 +259,6 @@ public abstract class AbstractJavadocMojo extends AbstractMojo {
260259
*/
261260
private static final JavaVersion SINCE_JAVADOC_1_8 = JavaVersion.parse("1.8");
262261

263-
/**
264-
*
265-
*/
266262
private static final JavaVersion JAVA_VERSION = JavaVersion.JAVA_SPECIFICATION_VERSION;
267263

268264
// ----------------------------------------------------------------------
@@ -272,41 +268,50 @@ public abstract class AbstractJavadocMojo extends AbstractMojo {
272268
/**
273269
* SiteTool.
274270
*/
275-
@Component
276271
protected SiteTool siteTool;
277272

278273
/**
279274
* Archiver manager
280275
*
281276
* @since 2.5
282277
*/
283-
@Component
284278
private ArchiverManager archiverManager;
285279

286-
@Component
287280
private ResourceResolver resourceResolver;
288281

289-
@Component
290282
private RepositorySystem repoSystem;
291283

292284
@Parameter(defaultValue = "${repositorySystemSession}", readonly = true, required = true)
293285
private RepositorySystemSession repoSession;
294286

295-
@Component
296287
private ArtifactHandlerManager artifactHandlerManager;
297288

298289
/**
299290
* Project builder
300291
*
301292
* @since 3.0
302293
*/
303-
@Component
304294
private ProjectBuilder mavenProjectBuilder;
305295

306-
/** */
307-
@Component
308296
private ToolchainManager toolchainManager;
309297

298+
public AbstractJavadocMojo(
299+
SiteTool siteTool,
300+
ArchiverManager archiverManager,
301+
ResourceResolver resourceResolver,
302+
RepositorySystem repoSystem,
303+
ArtifactHandlerManager artifactHandlerManager,
304+
ProjectBuilder mavenProjectBuilder,
305+
ToolchainManager toolchainManager) {
306+
this.siteTool = siteTool;
307+
this.archiverManager = archiverManager;
308+
this.resourceResolver = resourceResolver;
309+
this.repoSystem = repoSystem;
310+
this.artifactHandlerManager = artifactHandlerManager;
311+
this.mavenProjectBuilder = mavenProjectBuilder;
312+
this.toolchainManager = toolchainManager;
313+
}
314+
310315
final LocationManager locationManager = new LocationManager();
311316

312317
// ----------------------------------------------------------------------

src/main/java/org/apache/maven/plugins/javadoc/AggregatorJavadocJarMojo.java

+37
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,21 @@
1818
*/
1919
package org.apache.maven.plugins.javadoc;
2020

21+
import javax.inject.Inject;
22+
23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
24+
import org.apache.maven.doxia.tools.SiteTool;
2125
import org.apache.maven.plugins.annotations.Execute;
2226
import org.apache.maven.plugins.annotations.LifecyclePhase;
2327
import org.apache.maven.plugins.annotations.Mojo;
2428
import org.apache.maven.plugins.annotations.ResolutionScope;
29+
import org.apache.maven.plugins.javadoc.resolver.ResourceResolver;
30+
import org.apache.maven.project.MavenProjectHelper;
31+
import org.apache.maven.project.ProjectBuilder;
32+
import org.apache.maven.toolchain.ToolchainManager;
33+
import org.codehaus.plexus.archiver.jar.JarArchiver;
34+
import org.codehaus.plexus.archiver.manager.ArchiverManager;
35+
import org.eclipse.aether.RepositorySystem;
2536

2637
/**
2738
* <p>Bundles the Javadoc documentation for main <code>Java code</code> in an <b>aggregator</b> project into a jar
@@ -39,6 +50,32 @@
3950
requiresDependencyResolution = ResolutionScope.COMPILE)
4051
@Execute(phase = LifecyclePhase.COMPILE)
4152
public class AggregatorJavadocJarMojo extends JavadocJarMojo {
53+
54+
// CHECKSTYLE_OFF: ParameterNumber
55+
@Inject
56+
public AggregatorJavadocJarMojo(
57+
MavenProjectHelper projectHelper,
58+
JarArchiver jarArchiver,
59+
SiteTool siteTool,
60+
ArchiverManager archiverManager,
61+
ResourceResolver resourceResolver,
62+
RepositorySystem repoSystem,
63+
ArtifactHandlerManager artifactHandlerManager,
64+
ProjectBuilder mavenProjectBuilder,
65+
ToolchainManager toolchainManager) {
66+
super(
67+
projectHelper,
68+
jarArchiver,
69+
siteTool,
70+
archiverManager,
71+
resourceResolver,
72+
repoSystem,
73+
artifactHandlerManager,
74+
mavenProjectBuilder,
75+
toolchainManager);
76+
}
77+
// CHECKSTYLE_ON: ParameterNumber
78+
4279
@Override
4380
protected boolean isAggregator() {
4481
return true;

src/main/java/org/apache/maven/plugins/javadoc/AggregatorJavadocNoForkReport.java

+33-1
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,19 @@
1818
*/
1919
package org.apache.maven.plugins.javadoc;
2020

21+
import javax.inject.Inject;
22+
23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
24+
import org.apache.maven.doxia.tools.SiteTool;
2125
import org.apache.maven.plugins.annotations.Execute;
2226
import org.apache.maven.plugins.annotations.LifecyclePhase;
2327
import org.apache.maven.plugins.annotations.Mojo;
2428
import org.apache.maven.plugins.annotations.ResolutionScope;
29+
import org.apache.maven.plugins.javadoc.resolver.ResourceResolver;
30+
import org.apache.maven.project.ProjectBuilder;
31+
import org.apache.maven.toolchain.ToolchainManager;
32+
import org.codehaus.plexus.archiver.manager.ArchiverManager;
33+
import org.eclipse.aether.RepositorySystem;
2534

2635
/**
2736
* Generates documentation for the <code>Java code</code> in an <b>aggregator</b> project using the standard
@@ -31,4 +40,27 @@
3140
*/
3241
@Mojo(name = "aggregate-no-fork", requiresDependencyResolution = ResolutionScope.COMPILE)
3342
@Execute(phase = LifecyclePhase.NONE)
34-
public class AggregatorJavadocNoForkReport extends AggregatorJavadocReport {}
43+
public class AggregatorJavadocNoForkReport extends AggregatorJavadocReport {
44+
45+
// CHECKSTYLE_OFF: ParameterNumber
46+
@Inject
47+
public AggregatorJavadocNoForkReport(
48+
SiteTool siteTool,
49+
ArchiverManager archiverManager,
50+
ResourceResolver resourceResolver,
51+
RepositorySystem repoSystem,
52+
ArtifactHandlerManager artifactHandlerManager,
53+
ProjectBuilder mavenProjectBuilder,
54+
ToolchainManager toolchainManager) {
55+
super(
56+
siteTool,
57+
archiverManager,
58+
resourceResolver,
59+
repoSystem,
60+
artifactHandlerManager,
61+
mavenProjectBuilder,
62+
toolchainManager);
63+
}
64+
// CHECKSTYLE_ON: ParameterNumber
65+
66+
}

src/main/java/org/apache/maven/plugins/javadoc/AggregatorJavadocReport.java

+29
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,19 @@
1818
*/
1919
package org.apache.maven.plugins.javadoc;
2020

21+
import javax.inject.Inject;
22+
23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
24+
import org.apache.maven.doxia.tools.SiteTool;
2125
import org.apache.maven.plugins.annotations.Execute;
2226
import org.apache.maven.plugins.annotations.LifecyclePhase;
2327
import org.apache.maven.plugins.annotations.Mojo;
2428
import org.apache.maven.plugins.annotations.ResolutionScope;
29+
import org.apache.maven.plugins.javadoc.resolver.ResourceResolver;
30+
import org.apache.maven.project.ProjectBuilder;
31+
import org.apache.maven.toolchain.ToolchainManager;
32+
import org.codehaus.plexus.archiver.manager.ArchiverManager;
33+
import org.eclipse.aether.RepositorySystem;
2534

2635
/**
2736
* <p>Generates documentation for the <code>Java code</code> in an <b>aggregator</b> project using the standard
@@ -35,6 +44,26 @@
3544
@Mojo(name = "aggregate", aggregator = true, requiresDependencyResolution = ResolutionScope.COMPILE)
3645
@Execute(phase = LifecyclePhase.COMPILE)
3746
public class AggregatorJavadocReport extends JavadocReport {
47+
48+
@Inject
49+
public AggregatorJavadocReport(
50+
SiteTool siteTool,
51+
ArchiverManager archiverManager,
52+
ResourceResolver resourceResolver,
53+
RepositorySystem repoSystem,
54+
ArtifactHandlerManager artifactHandlerManager,
55+
ProjectBuilder mavenProjectBuilder,
56+
ToolchainManager toolchainManager) {
57+
super(
58+
siteTool,
59+
archiverManager,
60+
resourceResolver,
61+
repoSystem,
62+
artifactHandlerManager,
63+
mavenProjectBuilder,
64+
toolchainManager);
65+
}
66+
3867
@Override
3968
protected boolean isAggregator() {
4069
return true;

src/main/java/org/apache/maven/plugins/javadoc/AggregatorTestJavadocJarMojo.java

+37
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,21 @@
1818
*/
1919
package org.apache.maven.plugins.javadoc;
2020

21+
import javax.inject.Inject;
22+
23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
24+
import org.apache.maven.doxia.tools.SiteTool;
2125
import org.apache.maven.plugins.annotations.Execute;
2226
import org.apache.maven.plugins.annotations.LifecyclePhase;
2327
import org.apache.maven.plugins.annotations.Mojo;
2428
import org.apache.maven.plugins.annotations.ResolutionScope;
29+
import org.apache.maven.plugins.javadoc.resolver.ResourceResolver;
30+
import org.apache.maven.project.MavenProjectHelper;
31+
import org.apache.maven.project.ProjectBuilder;
32+
import org.apache.maven.toolchain.ToolchainManager;
33+
import org.codehaus.plexus.archiver.jar.JarArchiver;
34+
import org.codehaus.plexus.archiver.manager.ArchiverManager;
35+
import org.eclipse.aether.RepositorySystem;
2536

2637
/**
2738
* <p>Bundles the Javadoc documentation for <code>Java Test code</code> in an <b>aggregator</b> project into a jar
@@ -39,6 +50,32 @@
3950
requiresDependencyResolution = ResolutionScope.TEST)
4051
@Execute(phase = LifecyclePhase.TEST_COMPILE)
4152
public class AggregatorTestJavadocJarMojo extends TestJavadocJarMojo {
53+
54+
// CHECKSTYLE_OFF: ParameterNumber
55+
@Inject
56+
public AggregatorTestJavadocJarMojo(
57+
MavenProjectHelper projectHelper,
58+
JarArchiver jarArchiver,
59+
SiteTool siteTool,
60+
ArchiverManager archiverManager,
61+
ResourceResolver resourceResolver,
62+
RepositorySystem repoSystem,
63+
ArtifactHandlerManager artifactHandlerManager,
64+
ProjectBuilder mavenProjectBuilder,
65+
ToolchainManager toolchainManager) {
66+
super(
67+
projectHelper,
68+
jarArchiver,
69+
siteTool,
70+
archiverManager,
71+
resourceResolver,
72+
repoSystem,
73+
artifactHandlerManager,
74+
mavenProjectBuilder,
75+
toolchainManager);
76+
}
77+
// CHECKSTYLE_ON: ParameterNumber
78+
4279
@Override
4380
protected boolean isAggregator() {
4481
return true;

src/main/java/org/apache/maven/plugins/javadoc/AggregatorTestJavadocNoForkReport.java

+30-1
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,19 @@
1818
*/
1919
package org.apache.maven.plugins.javadoc;
2020

21+
import javax.inject.Inject;
22+
23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
24+
import org.apache.maven.doxia.tools.SiteTool;
2125
import org.apache.maven.plugins.annotations.Execute;
2226
import org.apache.maven.plugins.annotations.LifecyclePhase;
2327
import org.apache.maven.plugins.annotations.Mojo;
2428
import org.apache.maven.plugins.annotations.ResolutionScope;
29+
import org.apache.maven.plugins.javadoc.resolver.ResourceResolver;
30+
import org.apache.maven.project.ProjectBuilder;
31+
import org.apache.maven.toolchain.ToolchainManager;
32+
import org.codehaus.plexus.archiver.manager.ArchiverManager;
33+
import org.eclipse.aether.RepositorySystem;
2534

2635
/**
2736
* Generates documentation for the <code>Java Test code</code> in an <b>aggregator</b> project using the standard
@@ -32,4 +41,24 @@
3241
*/
3342
@Mojo(name = "test-aggregate-no-fork", requiresDependencyResolution = ResolutionScope.TEST)
3443
@Execute(phase = LifecyclePhase.NONE)
35-
public class AggregatorTestJavadocNoForkReport extends AggregatorTestJavadocReport {}
44+
public class AggregatorTestJavadocNoForkReport extends AggregatorTestJavadocReport {
45+
46+
@Inject
47+
public AggregatorTestJavadocNoForkReport(
48+
SiteTool siteTool,
49+
ArchiverManager archiverManager,
50+
ResourceResolver resourceResolver,
51+
RepositorySystem repoSystem,
52+
ArtifactHandlerManager artifactHandlerManager,
53+
ProjectBuilder mavenProjectBuilder,
54+
ToolchainManager toolchainManager) {
55+
super(
56+
siteTool,
57+
archiverManager,
58+
resourceResolver,
59+
repoSystem,
60+
artifactHandlerManager,
61+
mavenProjectBuilder,
62+
toolchainManager);
63+
}
64+
}

0 commit comments

Comments
 (0)