Skip to content

Commit 8b07cb3

Browse files
authored
Prefer Guice injection (#498)
1 parent 5901ecd commit 8b07cb3

15 files changed

+234
-53
lines changed

pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,6 @@ under the License.
146146
<scope>provided</scope>
147147
</dependency>
148148

149-
<dependency>
150-
<groupId>org.eclipse.sisu</groupId>
151-
<artifactId>org.eclipse.sisu.plexus</artifactId>
152-
<scope>provided</scope>
153-
</dependency>
154-
155149
<!-- doxia -->
156150
<dependency>
157151
<groupId>org.apache.maven.doxia</groupId>

src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.apache.maven.artifact.Artifact;
2929
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
3030
import org.apache.maven.plugin.MojoExecutionException;
31-
import org.apache.maven.plugins.annotations.Component;
3231
import org.apache.maven.plugins.annotations.Parameter;
3332
import org.apache.maven.plugins.dependency.AbstractDependencyMojo;
3433
import org.apache.maven.plugins.dependency.utils.DependencyStatusSets;
@@ -60,15 +59,6 @@
6059
*/
6160
public abstract class AbstractDependencyFilterMojo extends AbstractDependencyMojo {
6261

63-
@Component
64-
private ResolverUtil resolverUtil;
65-
66-
@Component
67-
private DependencyResolver dependencyResolver;
68-
69-
@Component
70-
private RepositoryManager repositoryManager;
71-
7262
/**
7363
* Overwrite release artifacts
7464
*
@@ -239,11 +229,28 @@ public abstract class AbstractDependencyFilterMojo extends AbstractDependencyMoj
239229
@Parameter(property = "mdep.prependGroupId", defaultValue = "false")
240230
protected boolean prependGroupId = false;
241231

242-
@Component
243-
private ProjectBuilder projectBuilder;
232+
private final ResolverUtil resolverUtil;
233+
234+
private final DependencyResolver dependencyResolver;
244235

245-
@Component
246-
private ArtifactHandlerManager artifactHandlerManager;
236+
private final RepositoryManager repositoryManager;
237+
238+
private final ProjectBuilder projectBuilder;
239+
240+
private final ArtifactHandlerManager artifactHandlerManager;
241+
242+
protected AbstractDependencyFilterMojo(
243+
ResolverUtil resolverUtil,
244+
DependencyResolver dependencyResolver,
245+
RepositoryManager repositoryManager,
246+
ProjectBuilder projectBuilder,
247+
ArtifactHandlerManager artifactHandlerManager) {
248+
this.resolverUtil = resolverUtil;
249+
this.dependencyResolver = dependencyResolver;
250+
this.repositoryManager = repositoryManager;
251+
this.projectBuilder = projectBuilder;
252+
this.artifactHandlerManager = artifactHandlerManager;
253+
}
247254

248255
/**
249256
* Return an {@link ArtifactsFilter} indicating which artifacts must be filtered out.

src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractFromDependenciesMojo.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@
2020

2121
import java.io.File;
2222

23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
2324
import org.apache.maven.plugins.annotations.Parameter;
25+
import org.apache.maven.plugins.dependency.utils.ResolverUtil;
26+
import org.apache.maven.project.ProjectBuilder;
27+
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
28+
import org.apache.maven.shared.transfer.repository.RepositoryManager;
2429

2530
/**
2631
* Abstract Parent class used by mojos that get Artifact information from the project dependencies.
@@ -106,8 +111,17 @@ public abstract class AbstractFromDependenciesMojo extends AbstractDependencyFil
106111
@Parameter(property = "mdep.failOnMissingClassifierArtifact", defaultValue = "false")
107112
protected boolean failOnMissingClassifierArtifact;
108113

114+
protected AbstractFromDependenciesMojo(
115+
ResolverUtil resolverUtil,
116+
DependencyResolver dependencyResolver,
117+
RepositoryManager repositoryManager,
118+
ProjectBuilder projectBuilder,
119+
ArtifactHandlerManager artifactHandlerManager) {
120+
super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager);
121+
}
122+
109123
/**
110-
* @return Returns the outputDirectory.
124+
* @return returns the outputDirectory
111125
*/
112126
public File getOutputDirectory() {
113127
return this.outputDirectory;

src/main/java/org/apache/maven/plugins/dependency/fromDependencies/BuildClasspathMojo.java

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,19 @@
3939

4040
import org.apache.commons.lang3.StringUtils;
4141
import org.apache.maven.artifact.Artifact;
42+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
4243
import org.apache.maven.plugin.MojoExecutionException;
4344
import org.apache.maven.plugins.annotations.LifecyclePhase;
4445
import org.apache.maven.plugins.annotations.Mojo;
4546
import org.apache.maven.plugins.annotations.Parameter;
4647
import org.apache.maven.plugins.annotations.ResolutionScope;
4748
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
49+
import org.apache.maven.plugins.dependency.utils.ResolverUtil;
4850
import org.apache.maven.project.MavenProjectHelper;
51+
import org.apache.maven.project.ProjectBuilder;
4952
import org.apache.maven.project.ProjectBuildingRequest;
5053
import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter;
54+
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
5155
import org.apache.maven.shared.transfer.repository.RepositoryManager;
5256

5357
/**
@@ -160,17 +164,18 @@ public class BuildClasspathMojo extends AbstractDependencyFilterMojo implements
160164
@Parameter(property = "mdep.useBaseVersion", defaultValue = "true")
161165
private boolean useBaseVersion = true;
162166

163-
/**
164-
* Maven ProjectHelper
165-
*/
166-
private MavenProjectHelper projectHelper;
167-
168-
private RepositoryManager repositoryManager;
167+
private final MavenProjectHelper projectHelper;
169168

170169
@Inject
171-
public BuildClasspathMojo(MavenProjectHelper projectHelper, RepositoryManager repositoryManager) {
170+
protected BuildClasspathMojo(
171+
MavenProjectHelper projectHelper,
172+
ResolverUtil resolverUtil,
173+
DependencyResolver dependencyResolver,
174+
RepositoryManager repositoryManager,
175+
ProjectBuilder projectBuilder,
176+
ArtifactHandlerManager artifactHandlerManager) {
177+
super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager);
172178
this.projectHelper = projectHelper;
173-
this.repositoryManager = repositoryManager;
174179
}
175180

176181
/**
@@ -248,8 +253,8 @@ protected void doExecute() throws MojoExecutionException {
248253
}
249254

250255
/**
251-
* @param cpString The classpath.
252-
* @throws MojoExecutionException in case of an error.
256+
* @param cpString the classpath
257+
* @throws MojoExecutionException in case of an error
253258
*/
254259
protected void attachFile(String cpString) throws MojoExecutionException {
255260
File attachedFile = new File(getProject().getBuild().getDirectory(), "classpath");
@@ -259,7 +264,7 @@ protected void attachFile(String cpString) throws MojoExecutionException {
259264
}
260265

261266
/**
262-
* Appends the artifact path into the specified StringBuilder.
267+
* Appends the artifact path to the specified StringBuilder.
263268
*
264269
* @param art {@link Artifact}
265270
* @param sb {@link StringBuilder}
@@ -270,7 +275,7 @@ protected void appendArtifactPath(Artifact art, StringBuilder sb) {
270275
// substitute the property for the local repo path to make the classpath file portable.
271276
if (localRepoProperty != null && !localRepoProperty.isEmpty()) {
272277
ProjectBuildingRequest projectBuildingRequest = session.getProjectBuildingRequest();
273-
File localBasedir = repositoryManager.getLocalRepositoryBasedir(projectBuildingRequest);
278+
File localBasedir = getRepositoryManager().getLocalRepositoryBasedir(projectBuildingRequest);
274279

275280
file = StringUtils.replace(file, localBasedir.getAbsolutePath(), localRepoProperty);
276281
}

src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
import org.apache.maven.RepositoryUtils;
3131
import org.apache.maven.artifact.Artifact;
32+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
3233
import org.apache.maven.plugin.MojoExecutionException;
3334
import org.apache.maven.plugins.annotations.LifecyclePhase;
3435
import org.apache.maven.plugins.annotations.Mojo;
@@ -37,11 +38,15 @@
3738
import org.apache.maven.plugins.dependency.utils.CopyUtil;
3839
import org.apache.maven.plugins.dependency.utils.DependencyStatusSets;
3940
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
41+
import org.apache.maven.plugins.dependency.utils.ResolverUtil;
4042
import org.apache.maven.plugins.dependency.utils.filters.DestFileFilter;
43+
import org.apache.maven.project.ProjectBuilder;
4144
import org.apache.maven.project.ProjectBuildingRequest;
4245
import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter;
4346
import org.apache.maven.shared.transfer.artifact.install.ArtifactInstaller;
4447
import org.apache.maven.shared.transfer.artifact.install.ArtifactInstallerException;
48+
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
49+
import org.apache.maven.shared.transfer.repository.RepositoryManager;
4550
import org.eclipse.aether.resolution.ArtifactResolutionException;
4651
import org.eclipse.aether.util.artifact.SubArtifact;
4752

@@ -74,12 +79,6 @@ public class CopyDependenciesMojo extends AbstractFromDependenciesMojo {
7479

7580
private final ArtifactInstaller installer;
7681

77-
@Inject
78-
public CopyDependenciesMojo(CopyUtil copyUtil, ArtifactInstaller installer) {
79-
this.copyUtil = copyUtil;
80-
this.installer = installer;
81-
}
82-
8382
/**
8483
* Either append the artifact's baseVersion or uniqueVersion to the filename. Will only be used if
8584
* {@link #isStripVersion()} is {@code false}.
@@ -97,6 +96,20 @@ public CopyDependenciesMojo(CopyUtil copyUtil, ArtifactInstaller installer) {
9796
@Parameter(property = "mdep.addParentPoms", defaultValue = "false")
9897
protected boolean addParentPoms;
9998

99+
@Inject
100+
public CopyDependenciesMojo(
101+
CopyUtil copyUtil,
102+
ArtifactInstaller installer,
103+
ResolverUtil resolverUtil,
104+
DependencyResolver dependencyResolver,
105+
RepositoryManager repositoryManager,
106+
ProjectBuilder projectBuilder,
107+
ArtifactHandlerManager artifactHandlerManager) {
108+
super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager);
109+
this.copyUtil = copyUtil;
110+
this.installer = installer;
111+
}
112+
100113
/**
101114
* Main entry into mojo. Gets the list of dependencies and iterates through calling copyArtifact.
102115
*

src/main/java/org/apache/maven/plugins/dependency/fromDependencies/UnpackDependenciesMojo.java

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,22 @@
2323
import java.io.File;
2424

2525
import org.apache.maven.artifact.Artifact;
26+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
2627
import org.apache.maven.plugin.MojoExecutionException;
2728
import org.apache.maven.plugins.annotations.LifecyclePhase;
2829
import org.apache.maven.plugins.annotations.Mojo;
2930
import org.apache.maven.plugins.annotations.Parameter;
3031
import org.apache.maven.plugins.annotations.ResolutionScope;
3132
import org.apache.maven.plugins.dependency.utils.DependencyStatusSets;
3233
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
34+
import org.apache.maven.plugins.dependency.utils.ResolverUtil;
3335
import org.apache.maven.plugins.dependency.utils.UnpackUtil;
3436
import org.apache.maven.plugins.dependency.utils.filters.MarkerFileFilter;
3537
import org.apache.maven.plugins.dependency.utils.markers.DefaultFileMarkerHandler;
38+
import org.apache.maven.project.ProjectBuilder;
3639
import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter;
40+
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
41+
import org.apache.maven.shared.transfer.repository.RepositoryManager;
3742
import org.codehaus.plexus.components.io.filemappers.FileMapper;
3843

3944
/**
@@ -51,13 +56,6 @@
5156
// CHECKSTYLE_ON: LineLength
5257
public class UnpackDependenciesMojo extends AbstractFromDependenciesMojo {
5358

54-
private final UnpackUtil unpackUtil;
55-
56-
@Inject
57-
public UnpackDependenciesMojo(UnpackUtil unpackUtil) {
58-
this.unpackUtil = unpackUtil;
59-
}
60-
6159
/**
6260
* A comma separated list of file patterns to include when unpacking the artifact. i.e.
6361
* <code>**&#47;*.xml,**&#47;*.properties</code> NOTE: Excludes patterns override the includes. (component code =
@@ -102,6 +100,20 @@ public UnpackDependenciesMojo(UnpackUtil unpackUtil) {
102100
@Parameter(property = "mdep.unpack.filemappers")
103101
private FileMapper[] fileMappers;
104102

103+
private final UnpackUtil unpackUtil;
104+
105+
@Inject
106+
public UnpackDependenciesMojo(
107+
UnpackUtil unpackUtil,
108+
ResolverUtil resolverUtil,
109+
DependencyResolver dependencyResolver,
110+
RepositoryManager repositoryManager,
111+
ProjectBuilder projectBuilder,
112+
ArtifactHandlerManager artifactHandlerManager) {
113+
super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager);
114+
this.unpackUtil = unpackUtil;
115+
}
116+
105117
/**
106118
* Main entry into mojo. This method gets the dependencies and iterates through each one passing it to
107119
* DependencyUtil.unpackFile().

src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,20 @@
2020

2121
import java.io.File;
2222

23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
2324
import org.apache.maven.plugins.annotations.Parameter;
2425
import org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo;
2526
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
27+
import org.apache.maven.plugins.dependency.utils.ResolverUtil;
28+
import org.apache.maven.project.ProjectBuilder;
2629
import org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter;
2730
import org.apache.maven.shared.artifact.filter.collection.ClassifierFilter;
2831
import org.apache.maven.shared.artifact.filter.collection.FilterArtifacts;
2932
import org.apache.maven.shared.artifact.filter.collection.GroupIdFilter;
3033
import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
3134
import org.apache.maven.shared.artifact.filter.collection.TypeFilter;
35+
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
36+
import org.apache.maven.shared.transfer.repository.RepositoryManager;
3237

3338
/**
3439
* @author <a href="mailto:[email protected]">Brian Fox</a>
@@ -60,6 +65,15 @@ public abstract class AbstractResolveMojo extends AbstractDependencyFilterMojo {
6065
@Parameter(property = "excludeReactor", defaultValue = "true")
6166
protected boolean excludeReactor;
6267

68+
protected AbstractResolveMojo(
69+
ResolverUtil resolverUtil,
70+
DependencyResolver dependencyResolver,
71+
RepositoryManager repositoryManager,
72+
ProjectBuilder projectBuilder,
73+
ArtifactHandlerManager artifactHandlerManager) {
74+
super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager);
75+
}
76+
6377
/**
6478
* @return {@link FilterArtifacts}
6579
*/

src/main/java/org/apache/maven/plugins/dependency/resolvers/CollectDependenciesMojo.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,16 @@
1818
*/
1919
package org.apache.maven.plugins.dependency.resolvers;
2020

21+
import javax.inject.Inject;
22+
23+
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
2124
import org.apache.maven.plugins.annotations.LifecyclePhase;
2225
import org.apache.maven.plugins.annotations.Mojo;
2326
import org.apache.maven.plugins.annotations.ResolutionScope;
27+
import org.apache.maven.plugins.dependency.utils.ResolverUtil;
28+
import org.apache.maven.project.ProjectBuilder;
29+
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
30+
import org.apache.maven.shared.transfer.repository.RepositoryManager;
2431

2532
/**
2633
* <p>
@@ -45,4 +52,15 @@
4552
requiresDependencyCollection = ResolutionScope.TEST,
4653
defaultPhase = LifecyclePhase.GENERATE_SOURCES,
4754
threadSafe = true)
48-
public class CollectDependenciesMojo extends ResolveDependenciesMojo {}
55+
public class CollectDependenciesMojo extends ResolveDependenciesMojo {
56+
57+
@Inject
58+
public CollectDependenciesMojo(
59+
ResolverUtil resolverUtil,
60+
DependencyResolver dependencyResolver,
61+
RepositoryManager repositoryManager,
62+
ProjectBuilder projectBuilder,
63+
ArtifactHandlerManager artifactHandlerManager) {
64+
super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager);
65+
}
66+
}

0 commit comments

Comments
 (0)