@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 MavenReportExecutor
org.apache.maven.plugin.MojoExecutionException
protected List<MavenReportExecution> buildReportPlugin(MavenReportExecutorRequest mavenReportExecutorRequest, ReportPlugin reportPlugin) throws Exception
Exception
protected 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.PluginVersionResolutionException
Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.