@Component(role=MavenReportExecutor.class) public class DefaultMavenReportExecutor extends Object implements MavenReportExecutor
This component will build some MavenReportExecution from MavenReportExecutorRequest.
If a MavenReport needs to fork a lifecycle, this fork is executed here.
It will ask the core to get some informations in order to correctly setup MavenReport.
Note if no version is defined in the report plugin, the version will be searched
with method resolvePluginVersion(ReportPlugin, MavenReportExecutorRequest)
Steps to find a plugin version stop after each step if a non null value has been found:
PluginVersionResolver to get a fallback version and display a warning as it's not a recommended use.Following steps are done:
PluginDescriptor from the MavenPluginManager#getPluginDescriptor(Plugin, RepositoryRequest, RepositorySystemSession)ClassLoader with the Mojo Site plugin ClassLoader as parent for the report execution.
You must note some classes are imported from the current Site Mojo ClassRealm: see IMPORTS.
The artifact resolution excludes the following artifacts, corresponding to imported classes:
doxia-site-renderer, doxia-sink-api, maven-reporting-api.
Done using MavenPluginManager.setupPluginRealm(PluginDescriptor, MavenSession, ClassLoader, List, DependencyFilter)
MavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution)
LifecycleExecutor.calculateForkedExecutions(MojoExecution, MavenSession)
if any forked execution is needed: if yes, executes the forked execution here
| Modifier and Type | Field and Description |
|---|---|
protected org.apache.maven.lifecycle.LifecycleExecutor |
lifecycleExecutor |
protected org.apache.maven.plugin.MavenPluginManager |
mavenPluginManager |
protected MavenPluginManagerHelper |
mavenPluginManagerHelper |
protected org.apache.maven.plugin.version.PluginVersionResolver |
pluginVersionResolver |
| Constructor and Description |
|---|
DefaultMavenReportExecutor() |
| Modifier and Type | Method and Description |
|---|---|
List<MavenReportExecution> |
buildMavenReports(MavenReportExecutorRequest mavenReportExecutorRequest) |
protected List<MavenReportExecution> |
buildReportPlugin(MavenReportExecutorRequest mavenReportExecutorRequest,
ReportPlugin reportPlugin) |
protected String |
resolvePluginVersion(ReportPlugin reportPlugin,
MavenReportExecutorRequest mavenReportExecutorRequest)
Resolve report plugin version.
|
@Requirement protected org.apache.maven.plugin.MavenPluginManager mavenPluginManager
@Requirement protected MavenPluginManagerHelper mavenPluginManagerHelper
@Requirement protected org.apache.maven.lifecycle.LifecycleExecutor lifecycleExecutor
@Requirement protected org.apache.maven.plugin.version.PluginVersionResolver pluginVersionResolver
public List<MavenReportExecution> buildMavenReports(MavenReportExecutorRequest mavenReportExecutorRequest) throws org.apache.maven.plugin.MojoExecutionException
buildMavenReports in interface MavenReportExecutororg.apache.maven.plugin.MojoExecutionExceptionprotected List<MavenReportExecution> buildReportPlugin(MavenReportExecutorRequest mavenReportExecutorRequest, ReportPlugin reportPlugin) throws Exception
Exceptionprotected String resolvePluginVersion(ReportPlugin reportPlugin, MavenReportExecutorRequest mavenReportExecutorRequest) throws org.apache.maven.plugin.version.PluginVersionResolutionException
null value has been found:
PluginVersionResolver to get a fallback version and display a warning as it's not a recommended use.reportPlugin - the report plugin to resolve the versionmavenReportExecutorRequest - the current report execution contextorg.apache.maven.plugin.version.PluginVersionResolutionExceptionCopyright © 2002-2016 The Apache Software Foundation. All Rights Reserved.