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