Skip to content

Commit db5ac68

Browse files
[MPH-198] Get rid of maven-reporting-exec
1 parent 6c7542f commit db5ac68

File tree

3 files changed

+34
-21
lines changed

3 files changed

+34
-21
lines changed

pom.xml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,11 @@
131131
<groupId>org.apache.maven.reporting</groupId>
132132
<artifactId>maven-reporting-api</artifactId>
133133
<version>3.1.1</version>
134-
</dependency>
135-
<dependency>
136-
<groupId>org.apache.maven.reporting</groupId>
137-
<artifactId>maven-reporting-exec</artifactId>
138-
<version>1.6.0</version>
139134
<exclusions>
135+
<!-- we only need one interface MavenReport -->
140136
<exclusion>
141-
<groupId>org.apache.maven</groupId>
142-
<artifactId>maven-settings-builder</artifactId>
137+
<groupId>*</groupId>
138+
<artifactId>*</artifactId>
143139
</exclusion>
144140
</exclusions>
145141
</dependency>

src/main/java/org/apache/maven/plugins/help/DescribeMojo.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
3939
import org.apache.maven.model.Plugin;
4040
import org.apache.maven.model.building.ModelBuildingRequest;
41+
import org.apache.maven.plugin.MavenPluginManager;
4142
import org.apache.maven.plugin.MojoExecutionException;
4243
import org.apache.maven.plugin.MojoFailureException;
4344
import org.apache.maven.plugin.descriptor.MojoDescriptor;
@@ -54,7 +55,6 @@
5455
import org.apache.maven.project.MavenProject;
5556
import org.apache.maven.project.ProjectBuildingRequest;
5657
import org.apache.maven.reporting.MavenReport;
57-
import org.apache.maven.reporting.exec.MavenPluginManagerHelper;
5858
import org.apache.maven.shared.utils.logging.MessageUtils;
5959
import org.apache.maven.tools.plugin.generator.GeneratorUtils;
6060
import org.apache.maven.tools.plugin.util.PluginUtils;
@@ -100,7 +100,7 @@ public class DescribeMojo extends AbstractHelpMojo {
100100
* Component used to get a plugin descriptor from a given plugin.
101101
*/
102102
@Component
103-
private MavenPluginManagerHelper pluginManager;
103+
protected MavenPluginManager pluginManager;
104104

105105
/**
106106
* Component used to get a plugin by its prefix and get mojo descriptors.
@@ -310,7 +310,8 @@ private PluginDescriptor lookupPluginDescriptor(PluginInfo pi) throws MojoExecut
310310
}
311311

312312
try {
313-
return pluginManager.getPluginDescriptor(forLookup, session);
313+
return pluginManager.getPluginDescriptor(
314+
forLookup, project.getRemotePluginRepositories(), session.getRepositorySession());
314315
} catch (Exception e) {
315316
throw new MojoExecutionException(
316317
"Error retrieving plugin descriptor for:" + LS + LS + "groupId: '"

src/test/java/org/apache/maven/plugins/help/DescribeMojoTest.java

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@
1919
package org.apache.maven.plugins.help;
2020

2121
import java.lang.reflect.InvocationTargetException;
22+
import java.util.Collections;
2223

2324
import org.apache.maven.execution.MavenSession;
2425
import org.apache.maven.lifecycle.internal.MojoDescriptorCreator;
2526
import org.apache.maven.model.Plugin;
27+
import org.apache.maven.plugin.MavenPluginManager;
2628
import org.apache.maven.plugin.descriptor.MojoDescriptor;
2729
import org.apache.maven.plugin.descriptor.Parameter;
2830
import org.apache.maven.plugin.descriptor.PluginDescriptor;
@@ -31,7 +33,7 @@
3133
import org.apache.maven.plugin.version.PluginVersionResult;
3234
import org.apache.maven.plugins.help.DescribeMojo.PluginInfo;
3335
import org.apache.maven.project.MavenProject;
34-
import org.apache.maven.reporting.exec.MavenPluginManagerHelper;
36+
import org.eclipse.aether.RepositorySystemSession;
3537
import org.junit.Test;
3638
import org.mockito.ArgumentCaptor;
3739

@@ -196,14 +198,19 @@ public void testLookupPluginDescriptorPrefixWithVersion() throws Throwable {
196198

197199
MojoDescriptorCreator mojoDescriptorCreator = mock(MojoDescriptorCreator.class);
198200
PluginVersionResolver pluginVersionResolver = mock(PluginVersionResolver.class);
199-
MavenPluginManagerHelper pluginManager = mock(MavenPluginManagerHelper.class);
201+
MavenPluginManager pluginManager = mock(MavenPluginManager.class);
200202
MavenSession session = mock(MavenSession.class);
203+
when(session.getRepositorySession()).thenReturn(mock(RepositorySystemSession.class));
201204
writeDeclaredField(mojo, "mojoDescriptorCreator", mojoDescriptorCreator, true);
202205
writeDeclaredField(mojo, "pluginVersionResolver", pluginVersionResolver, true);
203206
writeDeclaredField(mojo, "pluginManager", pluginManager, true);
204207
writeField(mojo, "session", session, true);
208+
MavenProject mavenProject = new MavenProject();
209+
mavenProject.setPluginArtifactRepositories(Collections.emptyList());
210+
writeField(mojo, "project", mavenProject, true);
205211
when(mojoDescriptorCreator.findPluginForPrefix("help", session)).thenReturn(plugin);
206-
when(pluginManager.getPluginDescriptor(any(Plugin.class), eq(session))).thenReturn(pd);
212+
when(pluginManager.getPluginDescriptor(any(Plugin.class), anyList(), any()))
213+
.thenReturn(pd);
207214

208215
PluginDescriptor returned = (PluginDescriptor) invokeMethod(mojo, true, "lookupPluginDescriptor", pi);
209216

@@ -212,7 +219,7 @@ public void testLookupPluginDescriptorPrefixWithVersion() throws Throwable {
212219
verify(mojoDescriptorCreator).findPluginForPrefix("help", session);
213220
verify(pluginVersionResolver, never()).resolve(any(PluginVersionRequest.class));
214221
ArgumentCaptor<Plugin> argument = ArgumentCaptor.forClass(Plugin.class);
215-
verify(pluginManager).getPluginDescriptor(argument.capture(), eq(session));
222+
verify(pluginManager).getPluginDescriptor(argument.capture(), anyList(), any());
216223
Plugin capturedPlugin = argument.getValue();
217224
assertEquals("org.test", capturedPlugin.getGroupId());
218225
assertEquals("test", capturedPlugin.getArtifactId());
@@ -234,18 +241,22 @@ public void testLookupPluginDescriptorPrefixWithoutVersion() throws Throwable {
234241

235242
MojoDescriptorCreator mojoDescriptorCreator = mock(MojoDescriptorCreator.class);
236243
PluginVersionResolver pluginVersionResolver = mock(PluginVersionResolver.class);
237-
MavenPluginManagerHelper pluginManager = mock(MavenPluginManagerHelper.class);
244+
MavenPluginManager pluginManager = mock(MavenPluginManager.class);
238245
PluginVersionResult versionResult = mock(PluginVersionResult.class);
239246
MavenSession session = mock(MavenSession.class);
247+
when(session.getRepositorySession()).thenReturn(mock(RepositorySystemSession.class));
240248
writeDeclaredField(mojo, "mojoDescriptorCreator", mojoDescriptorCreator, true);
241249
writeDeclaredField(mojo, "pluginVersionResolver", pluginVersionResolver, true);
242250
writeDeclaredField(mojo, "pluginManager", pluginManager, true);
243251
writeField(mojo, "session", session, true);
244-
writeField(mojo, "project", new MavenProject(), true);
252+
MavenProject mavenProject = new MavenProject();
253+
mavenProject.setPluginArtifactRepositories(Collections.emptyList());
254+
writeField(mojo, "project", mavenProject, true);
245255
when(mojoDescriptorCreator.findPluginForPrefix("help", session)).thenReturn(plugin);
246256
when(pluginVersionResolver.resolve(any(PluginVersionRequest.class))).thenReturn(versionResult);
247257
when(versionResult.getVersion()).thenReturn("1.0");
248-
when(pluginManager.getPluginDescriptor(any(Plugin.class), eq(session))).thenReturn(pd);
258+
when(pluginManager.getPluginDescriptor(any(Plugin.class), anyList(), any()))
259+
.thenReturn(pd);
249260

250261
PluginDescriptor returned = (PluginDescriptor) invokeMethod(mojo, true, "lookupPluginDescriptor", pi);
251262
assertEquals(pd, returned);
@@ -256,7 +267,7 @@ public void testLookupPluginDescriptorPrefixWithoutVersion() throws Throwable {
256267
assertEquals("org.test", versionArgument.getValue().getGroupId());
257268
assertEquals("test", versionArgument.getValue().getArtifactId());
258269
ArgumentCaptor<Plugin> argument = ArgumentCaptor.forClass(Plugin.class);
259-
verify(pluginManager).getPluginDescriptor(argument.capture(), eq(session));
270+
verify(pluginManager).getPluginDescriptor(argument.capture(), anyList(), any());
260271
Plugin capturedPlugin = argument.getValue();
261272
assertEquals("org.test", capturedPlugin.getGroupId());
262273
assertEquals("test", capturedPlugin.getArtifactId());
@@ -276,13 +287,18 @@ public void testLookupPluginDescriptorGAV() throws Throwable {
276287

277288
MojoDescriptorCreator mojoDescriptorCreator = mock(MojoDescriptorCreator.class);
278289
PluginVersionResolver pluginVersionResolver = mock(PluginVersionResolver.class);
279-
MavenPluginManagerHelper pluginManager = mock(MavenPluginManagerHelper.class);
290+
MavenPluginManager pluginManager = mock(MavenPluginManager.class);
280291
MavenSession session = mock(MavenSession.class);
292+
when(session.getRepositorySession()).thenReturn(mock(RepositorySystemSession.class));
281293
writeDeclaredField(mojo, "mojoDescriptorCreator", mojoDescriptorCreator, true);
282294
writeDeclaredField(mojo, "pluginVersionResolver", pluginVersionResolver, true);
283295
writeDeclaredField(mojo, "pluginManager", pluginManager, true);
284296
writeField(mojo, "session", session, true);
285-
when(pluginManager.getPluginDescriptor(any(Plugin.class), eq(session))).thenReturn(pd);
297+
MavenProject mavenProject = new MavenProject();
298+
mavenProject.setPluginArtifactRepositories(Collections.emptyList());
299+
writeField(mojo, "project", mavenProject, true);
300+
when(pluginManager.getPluginDescriptor(any(Plugin.class), anyList(), any()))
301+
.thenReturn(pd);
286302

287303
PluginDescriptor returned = (PluginDescriptor) invokeMethod(mojo, true, "lookupPluginDescriptor", pi);
288304

@@ -291,7 +307,7 @@ public void testLookupPluginDescriptorGAV() throws Throwable {
291307
verify(mojoDescriptorCreator, never()).findPluginForPrefix(any(String.class), any(MavenSession.class));
292308
verify(pluginVersionResolver, never()).resolve(any(PluginVersionRequest.class));
293309
ArgumentCaptor<Plugin> argument = ArgumentCaptor.forClass(Plugin.class);
294-
verify(pluginManager).getPluginDescriptor(argument.capture(), eq(session));
310+
verify(pluginManager).getPluginDescriptor(argument.capture(), anyList(), any());
295311
Plugin capturedPlugin = argument.getValue();
296312
assertEquals("org.test", capturedPlugin.getGroupId());
297313
assertEquals("test", capturedPlugin.getArtifactId());

0 commit comments

Comments
 (0)