Hi,
Currently Maven report plugin implements MavenReport by
extending AbstractMavenReport
Interface MavenReport is in maven-reporting-api
Class AbstractMavenReport is in maven-reporting-impl
maven-reporting-impl - has many transitive dependencies.
We have also AbstractMavenReportRenderer which hide some of method from
Doxia Sink,
Proposition:
Move AbstractMavenReport to maven-reporting-api
Add similar method from AbstractMavenReportRenderer to AbstractMavenReport
We can have something like:
class AbstractMavenReport ...
{
@Component
private DoxiaSupport doxiaSupport;
public void paragraph( String paragraph )
{
doxiaSupport.paragraph( paragraph );
}
....
}
Interface DoxiaSupport will be also in maven-reporting-api.
m-site-p by m-exec will add needed implementation of DoxiaSupport on plugin
classpath.
Advantage:
- plugin report will only need maven-reporting-api without any
transitive dependencies.
Disadvantage:
- plugin report can be only executed by m-site-p
WDYT?
--
Sławomir Jaranowski