Package org.apache.maven.reporting
Class AbstractMavenReport
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.apache.maven.reporting.AbstractMavenReport
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo,org.apache.maven.reporting.MavenMultiPageReport,org.apache.maven.reporting.MavenReport
public abstract class AbstractMavenReport extends org.apache.maven.plugin.AbstractMojo implements org.apache.maven.reporting.MavenMultiPageReportThe basis for a Maven report which can be generated both as part of a site generation or as a direct standalone goal invocation. Both invocations are delegated toabstract executeReport( Locale )from:- Mojo's
execute()method, see maven-plugin-api - MavenMultiPageReport's
generate( Sink, SinkFactory, Locale ), see maven-reporting-api
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringlocaleThe locale to use when the report generation is invoked directly as a standalone Mojo.protected org.apache.maven.plugin.MojoExecutionmojoExecutionThe mojo executionprotected java.io.FileoutputDirectoryThe shared output directory for the report.protected java.lang.StringoutputFormatThe report output format: null by default, to represent a site, but can be configured to a Doxia Sink id.protected java.lang.StringoutputTimestampTimestamp for reproducible output archive entries, either formatted as ISO 8601yyyy-MM-dd'T'HH:mm:ssXXXor as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).protected org.apache.maven.project.MavenProjectprojectThe Maven Project.protected java.util.List<org.apache.maven.project.MavenProject>reactorProjectsThe reactor projects.protected java.util.List<org.eclipse.aether.repository.RemoteRepository>remoteProjectRepositoriesRemote project repositories used for the project.protected org.eclipse.aether.RepositorySystemSessionrepoSessionThe repository system session.protected java.io.FilesiteDirectoryDirectory containing thesite.xmlfile.protected org.apache.maven.doxia.siterenderer.RenderersiteRendererDoxia Site Renderer component.protected org.apache.maven.doxia.tools.SiteToolsiteToolSiteTool.
-
Constructor Summary
Constructors Constructor Description AbstractMavenReport()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleancanGenerateReport()protected voidcloseReport()Actions when closing the report.protected java.lang.StringconstructXrefLocation(java.io.File location, boolean test)Contructs the (Test) Source XRef location relative to thegetReportOutputDirectory()withgetXrefLocation(File, boolean).voidexecute()This method is called when the report generation is invoked directly as a standalone Mojo.protected abstract voidexecuteReport(java.util.Locale locale)Execute the generation of the report.voidgenerate(org.apache.maven.doxia.sink.Sink sink, java.util.Locale locale)Deprecated.usegenerate(Sink, SinkFactory, Locale)instead.voidgenerate(org.apache.maven.doxia.sink.Sink sink, org.apache.maven.doxia.sink.SinkFactory sinkFactory, java.util.Locale locale)This method is called when the report generation is invoked by maven-site-plugin.java.lang.StringgetCategoryName()protected java.lang.StringgetInputEncoding()Gets the input files encoding.protected java.util.LocalegetLocale()Gets the localeprotected java.lang.StringgetOutputDirectory()protected java.lang.StringgetOutputEncoding()Gets the effective reporting output files encoding.protected org.apache.maven.project.MavenProjectgetProject()java.io.FilegetReportOutputDirectory()org.apache.maven.doxia.sink.SinkgetSink()org.apache.maven.doxia.sink.SinkFactorygetSinkFactory()protected org.apache.maven.doxia.siterenderer.RenderergetSiteRenderer()protected java.io.FilegetXrefLocation(java.io.File location, boolean test)Returns the (Test) Source XRef location as passthrough if provided, otherwise returns the default value.booleanisExternalReport()voidsetReportOutputDirectory(java.io.File reportOutputDirectory)-
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
-
-
-
Field Detail
-
outputDirectory
@Parameter(defaultValue="${project.build.directory}/reports", required=true) protected java.io.File outputDirectoryThe shared output directory for the report. Note that this parameter is only evaluated if the goal is run directly from the command line. If the goal is run indirectly as part of a site generation, the shared output directory configured in the Maven Site Plugin is used instead.A plugin may use any subdirectory structure (either using a hard-coded name or, ideally, an additional user-defined mojo parameter with a default value) to generate multi-page reports or external reports with the main output file (entry point) denoted by
MavenReport.getOutputName().
-
project
@Parameter(defaultValue="${project}", readonly=true, required=true) protected org.apache.maven.project.MavenProject projectThe Maven Project.
-
mojoExecution
@Parameter(defaultValue="${mojoExecution}", readonly=true, required=true) protected org.apache.maven.plugin.MojoExecution mojoExecutionThe mojo execution
-
reactorProjects
@Parameter(defaultValue="${reactorProjects}", required=true, readonly=true) protected java.util.List<org.apache.maven.project.MavenProject> reactorProjectsThe reactor projects.
-
repoSession
@Parameter(defaultValue="${repositorySystemSession}", readonly=true, required=true) protected org.eclipse.aether.RepositorySystemSession repoSessionThe repository system session.
-
remoteProjectRepositories
@Parameter(defaultValue="${project.remoteProjectRepositories}", readonly=true, required=true) protected java.util.List<org.eclipse.aether.repository.RemoteRepository> remoteProjectRepositoriesRemote project repositories used for the project.
-
siteDirectory
@Parameter(defaultValue="${basedir}/src/site") protected java.io.File siteDirectoryDirectory containing thesite.xmlfile.
-
locale
@Parameter(defaultValue="default") protected java.lang.String locale
The locale to use when the report generation is invoked directly as a standalone Mojo.- See Also:
SiteTool.DEFAULT_LOCALE,SiteTool.getSiteLocales(String)
-
outputTimestamp
@Parameter(defaultValue="${project.build.outputTimestamp}") protected java.lang.String outputTimestampTimestamp for reproducible output archive entries, either formatted as ISO 8601yyyy-MM-dd'T'HH:mm:ssXXXor as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
-
siteTool
@Component protected org.apache.maven.doxia.tools.SiteTool siteTool
SiteTool.
-
siteRenderer
@Component protected org.apache.maven.doxia.siterenderer.Renderer siteRenderer
Doxia Site Renderer component.
-
outputFormat
@Parameter(property="output.format") protected java.lang.String outputFormat
The report output format: null by default, to represent a site, but can be configured to a Doxia Sink id.
-
-
Method Detail
-
execute
public final void execute() throws org.apache.maven.plugin.MojoExecutionExceptionThis method is called when the report generation is invoked directly as a standalone Mojo. This implementation is now markedfinalas it is not expected to be overridden:maven-reporting-implprovides all necessary plumbing.- Specified by:
executein interfaceorg.apache.maven.plugin.Mojo- Throws:
org.apache.maven.plugin.MojoExecutionException- if an error occurs when generating the report- See Also:
Mojo.execute()
-
generate
@Deprecated public void generate(org.apache.maven.doxia.sink.Sink sink, java.util.Locale locale) throws org.apache.maven.reporting.MavenReportExceptionDeprecated.usegenerate(Sink, SinkFactory, Locale)instead.Generate a report.- Specified by:
generatein interfaceorg.apache.maven.reporting.MavenReport- Parameters:
sink- the sink to use for the generation.locale- the wanted locale to generate the report, could be null.- Throws:
org.apache.maven.reporting.MavenReportException- if any
-
generate
public void generate(org.apache.maven.doxia.sink.Sink sink, org.apache.maven.doxia.sink.SinkFactory sinkFactory, java.util.Locale locale) throws org.apache.maven.reporting.MavenReportExceptionThis method is called when the report generation is invoked by maven-site-plugin.- Specified by:
generatein interfaceorg.apache.maven.reporting.MavenMultiPageReport- Parameters:
sink-sinkFactory-locale-- Throws:
org.apache.maven.reporting.MavenReportException
-
getCategoryName
public java.lang.String getCategoryName()
- Specified by:
getCategoryNamein interfaceorg.apache.maven.reporting.MavenReport- Returns:
- CATEGORY_PROJECT_REPORTS
-
getReportOutputDirectory
public java.io.File getReportOutputDirectory()
- Specified by:
getReportOutputDirectoryin interfaceorg.apache.maven.reporting.MavenReport
-
setReportOutputDirectory
public void setReportOutputDirectory(java.io.File reportOutputDirectory)
- Specified by:
setReportOutputDirectoryin interfaceorg.apache.maven.reporting.MavenReport
-
getOutputDirectory
protected java.lang.String getOutputDirectory()
-
getProject
protected org.apache.maven.project.MavenProject getProject()
-
getSiteRenderer
protected org.apache.maven.doxia.siterenderer.Renderer getSiteRenderer()
-
getInputEncoding
protected java.lang.String getInputEncoding()
Gets the input files encoding.- Returns:
- The input files encoding, never
null.
-
getOutputEncoding
protected java.lang.String getOutputEncoding()
Gets the effective reporting output files encoding.- Returns:
- The effective reporting output file encoding, never
null.
-
getLocale
protected java.util.Locale getLocale()
Gets the locale- Returns:
- the locale for this standalone report
-
closeReport
protected void closeReport()
Actions when closing the report.
-
getSink
public org.apache.maven.doxia.sink.Sink getSink()
- Returns:
- the sink used
-
getSinkFactory
public org.apache.maven.doxia.sink.SinkFactory getSinkFactory()
- Returns:
- the sink factory used
-
isExternalReport
public boolean isExternalReport()
- Specified by:
isExternalReportin interfaceorg.apache.maven.reporting.MavenReport- Returns:
falseby default.- See Also:
MavenReport.isExternalReport()
-
canGenerateReport
public boolean canGenerateReport() throws org.apache.maven.reporting.MavenReportException- Specified by:
canGenerateReportin interfaceorg.apache.maven.reporting.MavenReport- Throws:
org.apache.maven.reporting.MavenReportException
-
executeReport
protected abstract void executeReport(java.util.Locale locale) throws org.apache.maven.reporting.MavenReportExceptionExecute the generation of the report.- Parameters:
locale- the wanted locale to return the report's description, could benull.- Throws:
org.apache.maven.reporting.MavenReportException- if any
-
getXrefLocation
protected java.io.File getXrefLocation(java.io.File location, boolean test)Returns the (Test) Source XRef location as passthrough if provided, otherwise returns the default value.- Parameters:
location- the XRef location provided via plugin parameter, if anytest- whether it is test source- Returns:
- the actual (Test) Source XRef location
-
constructXrefLocation
protected java.lang.String constructXrefLocation(java.io.File location, boolean test)Contructs the (Test) Source XRef location relative to thegetReportOutputDirectory()withgetXrefLocation(File, boolean).- Parameters:
location- the XRef location provided via plugin parameter, if anytest- whether it is test source- Returns:
- the constructed (Test) Source XRef location
-
-