in maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java [92:107]
public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext)
throws ParameterResolutionException {
try {
InjectMojo injectMojo = parameterContext
.findAnnotation(InjectMojo.class)
.orElseGet(() -> parameterContext.getDeclaringExecutable().getAnnotation(InjectMojo.class));
List<MojoParameter> mojoParameters = parameterContext.findRepeatableAnnotations(MojoParameter.class);
Class<?> holder = parameterContext.getTarget().get().getClass();
PluginDescriptor descriptor = extensionContext
.getStore(ExtensionContext.Namespace.GLOBAL)
.get(PluginDescriptor.class, PluginDescriptor.class);
return lookupMojo(holder, injectMojo, mojoParameters, descriptor);
} catch (Exception e) {
throw new ParameterResolutionException("Unable to resolve parameter", e);
}
}