@Component(role=MavenReportExecutor.class) public class DefaultMavenReportExecutor extends Object implements MavenReportExecutor
This component will build some MavenReportExecution from MavenReportExecutorRequest.
If a MavenReport need 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 search
with method getPluginVersion(ReportPlugin, RepositoryRequest, MavenReportExecutorRequest)
Steps to find a plugin version stop after each step if a non null value has been found:
PluginVersionResolver to get a version and display a warning as it's not a recommended useFollowing steps are done
PluginDescriptor from the MavenPluginManager#getPluginDescriptor(Plugin, RepositoryRequest)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 (with using an ExclusionSetFilter:
doxia-site-renderer, doxia-sink-api, maven-reporting-api.
done using MavenPluginManager#setupPluginRealm(PluginDescriptor, org.apache.maven.execution.MavenSession, ClassLoader, List, org.apache.maven.artifact.resolver.filter.ArtifactFilter)
MavenPluginManager.getConfiguredMojo(Class, org.apache.maven.execution.MavenSession, MojoExecution)
LifecycleExecutor.calculateForkedExecutions(MojoExecution, org.apache.maven.execution.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 org.apache.maven.plugin.version.PluginVersionResolver |
pluginVersionResolver |
| Constructor and Description |
|---|
DefaultMavenReportExecutor() |
| Modifier and Type | Method and Description |
|---|---|
List<MavenReportExecution> |
buildMavenReports(MavenReportExecutorRequest mavenReportExecutorRequest) |
protected void |
buildReportPlugin(MavenReportExecutorRequest mavenReportExecutorRequest,
ReportPlugin reportPlugin,
List<String> reportPluginKeys,
List<MavenReportExecution> reports) |
protected String |
getPluginVersion(ReportPlugin reportPlugin,
org.apache.maven.artifact.repository.RepositoryRequest repositoryRequest,
MavenReportExecutorRequest mavenReportExecutorRequest)
Resolve report plugin version.
|
@Requirement protected org.apache.maven.plugin.MavenPluginManager mavenPluginManager
@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 void buildReportPlugin(MavenReportExecutorRequest mavenReportExecutorRequest, ReportPlugin reportPlugin, List<String> reportPluginKeys, List<MavenReportExecution> reports) throws Exception
Exceptionprotected String getPluginVersion(ReportPlugin reportPlugin, org.apache.maven.artifact.repository.RepositoryRequest repositoryRequest, MavenReportExecutorRequest mavenReportExecutorRequest) throws org.apache.maven.plugin.version.PluginVersionResolutionException
null value has been found:
PluginVersionResolver to get a version and display a warning as it's not a recommended usereportPlugin - the report plugin to resolve the versionrepositoryRequest - TODO: unused, to be removed?mavenReportExecutorRequest - the current report execution contextorg.apache.maven.plugin.version.PluginVersionResolutionExceptionCopyright © 2002-2012 Apache Software Foundation. All Rights Reserved.