|
|
|
[
Permlink
| « Hide
]
Dennis Lundberg - 14/Dec/07 12:00 PM
Confirming this on Windows as well with maven-site-plugin 2.0-beta-6.
Quite funny, reports generation works when run by the Site plugin. I attached a minimal test project and two debug logs from "mvn site" and "mvn changes:changes-report", maybe a diff on these helps.
The maven-changes-plugin directly depends on The problem seems to be that the createSink(File, String) method was removed from org.apache.maven.doxia.siterenderer.Renderer in revision 385559:
I checked out the "Project Info" reports to see if they could be run individually as well - which they can and looking at the maven-project-info-reports-plugin - it has its own execute() method in AbstractProjectInfoReport which all the reports in that plugin use. I'm attaching a patch which copies the AbstractProjectInfoReport into the changes plugin, renames it (to AbstractChangesReport) and modifies the changes and jira reports (confirmed this has the same issue) to use that abstract implementation. This seems resolves the issue. Running the JIRA report failed if the target directory didn't exist - so I also added code to fix that. In case my patch for the copied/modified AbstractProjectInfoReport doesn't work properly, I'm attaching a full copy of it as well (btw I copied the last 2.0.1 release version of AbstractProjectInfoReport) So if I understand this correctly, we really need a version maven-reporting-impl that uses the same version of doxia as this plugin does. In this case that is 1.0-alpha-9.
Until that is available we need to work around this problem. Copy the execute() method from maven-reporting-impl and modify it so that it only uses doxia-methods that are available in 1.0-alpha-9. This has already been done in MPIR, so an alternative is to copy it from there. Even when you get a compatible verson of maven-reporting-impl released it is still going to throw an exception though - just it will be a MojoExecutionException saying "Reporting mojo's can only be called from ReportDocumentRender" rather than a NoSuchMethodError.
If thats considered correct maven practice and what this plugin will do once you get a maven-reporting-impl release then you may as well just implement an execute method that throws that exception now. But if however the report should work standalone though, then copying MPIR is the solution. I fixed recently
The problem seems to come from MavenArtifactFilterManager wich excludes doxia-sink-api. We have the same problem in maven-pdf-plugin. I committed Niall's patch in r620284. Thanks!
I left out the part for AbstractJiraDownloader though, as I was not able to reproduce it. Can you please open a separate issue for that, with instructions on how to reproduce it. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||