From 7fa49d20f895a8f25e4446a74e53e7a619e72c9c Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Tue, 3 Jan 2023 11:22:51 -0800 Subject: [PATCH] Use non-deprecated `Sink` class (#7) --- maven-jellydoc-plugin/pom.xml | 24 ++++++++++- .../jvnet/maven/jellydoc/JellydocMojo.java | 42 +++++++++++++++++-- .../maven/jellydoc/ReferenceRenderer.java | 2 +- 3 files changed, 63 insertions(+), 5 deletions(-) diff --git a/maven-jellydoc-plugin/pom.xml b/maven-jellydoc-plugin/pom.xml index 9d65729..e4aadf7 100644 --- a/maven-jellydoc-plugin/pom.xml +++ b/maven-jellydoc-plugin/pom.xml @@ -65,6 +65,7 @@ 3.8.7 + 2.1.1 3.7.0 High @@ -75,6 +76,11 @@ + + commons-logging + commons-logging + 1.2 + org.apache.maven maven-artifact @@ -93,7 +99,12 @@ org.codehaus.plexus plexus-component-annotations - 2.1.1 + ${plexus.version} + + + org.codehaus.plexus + plexus-container-default + ${plexus.version} org.codehaus.plexus @@ -134,6 +145,17 @@ ant 1.10.12 + + org.apache.maven.doxia + doxia-site-renderer + 1.11.1 + + + dom4j + dom4j + + + org.apache.maven.reporting maven-reporting-impl diff --git a/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/JellydocMojo.java b/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/JellydocMojo.java index 12aa447..f390401 100644 --- a/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/JellydocMojo.java +++ b/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/JellydocMojo.java @@ -17,6 +17,8 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.factory.ArtifactFactory; +import org.apache.maven.doxia.sink.Sink; +import org.apache.maven.doxia.sink.SinkFactory; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.AbstractMojoExecutionException; @@ -29,7 +31,7 @@ import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProjectHelper; -import org.apache.maven.reporting.MavenReport; +import org.apache.maven.reporting.MavenMultiPageReport; import org.apache.maven.reporting.MavenReportException; import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver; import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException; @@ -38,7 +40,6 @@ import org.apache.tools.ant.taskdefs.Javadoc; import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.types.Path; -import org.codehaus.doxia.sink.Sink; import org.codehaus.plexus.util.FileUtils; import org.dom4j.DocumentException; import org.dom4j.Element; @@ -67,7 +68,7 @@ */ @Mojo(name = "jellydoc", requiresDependencyResolution = ResolutionScope.COMPILE) @Execute(phase = LifecyclePhase.GENERATE_SOURCES) -public class JellydocMojo extends AbstractMojo implements MavenReport { +public class JellydocMojo extends AbstractMojo implements MavenMultiPageReport { /** * The Maven Project Object */ @@ -205,8 +206,43 @@ private void setParam(Javadoc.DocletInfo d, String name, String value) { // return src; // } + /** + * Generate a report. + * + * @param sink The sink to use for the generation. + * @param locale The desired locale in which to generate the report; could be null. + * @throws MavenReportException if any error occurs + * @deprecated use {@link #generate(Sink, SinkFactory, Locale)} instead. + */ + @Deprecated @Override + public void generate(org.codehaus.doxia.sink.Sink sink, Locale locale) throws MavenReportException { + generate(sink, null, locale); + } + + /** + * Generate a report. + * + * @param sink The sink to use for the generation. + * @param locale The desired locale in which to generate the report; could be null. + * @throws MavenReportException if any error occurs + * @deprecated use {@link #generate(Sink, SinkFactory, Locale)} instead. + */ + @Deprecated public void generate(Sink sink, Locale locale) throws MavenReportException { + generate(sink, null, locale); + } + + /** + * This method is called when the report generation is invoked by maven-site-plugin. + * + * @param sink The sink to use for the generation. + * @param sinkFactory The sink factory to use for the generation; could be null. + * @param locale The desired locale in which to generate the report; could be null. + * @throws MavenReportException if any error occurs + */ + @Override + public void generate(Sink sink, SinkFactory sinkFactory, Locale locale) throws MavenReportException { try { execute(); new ReferenceRenderer(sink,new File(targetDir(),"taglib.xml").toURI().toURL()).render(); diff --git a/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/ReferenceRenderer.java b/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/ReferenceRenderer.java index 6a532f4..dcc3aa6 100644 --- a/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/ReferenceRenderer.java +++ b/maven-jellydoc-plugin/src/main/java/org/jvnet/maven/jellydoc/ReferenceRenderer.java @@ -15,12 +15,12 @@ */ package org.jvnet.maven.jellydoc; +import org.apache.maven.doxia.sink.Sink; import org.apache.maven.reporting.AbstractMavenReportRenderer; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; -import org.codehaus.doxia.sink.Sink; import java.net.URL; import java.util.List;