This is an automated email from the ASF dual-hosted git repository.

pottlinger pushed a commit to branch feature/RAT-440
in repository https://gitbox.apache.org/repos/asf/creadur-rat.git

commit ebfd2f014ecb154ee9620c2854a893cb082f7e58
Author: P. Ottlinger <[email protected]>
AuthorDate: Sat Jul 12 00:12:30 2025 +0200

    RAT-440: Try updating to new reporting and doxia stack
---
 apache-rat-plugin/pom.xml                          |  8 ++---
 .../main/java/org/apache/rat/mp/RatReportMojo.java | 24 +++----------
 .../java/org/apache/rat/mp/RatTestHelpers.java     | 41 +++++++---------------
 apache-rat-tools/src/main/resources/Maven.tpl      |  2 +-
 pom.xml                                            |  4 +--
 src/changes/changes.xml                            |  3 ++
 src/site/markdown/development/ui/generator.md      |  2 +-
 7 files changed, 29 insertions(+), 55 deletions(-)

diff --git a/apache-rat-plugin/pom.xml b/apache-rat-plugin/pom.xml
index d335fb79..6bf2a823 100644
--- a/apache-rat-plugin/pom.xml
+++ b/apache-rat-plugin/pom.xml
@@ -33,8 +33,8 @@
   </prerequisites>
   <properties>
     <currentVersion>${project.version}</currentVersion>
-    <doxiaVersion>1.12.0</doxiaVersion>
-    <doxiaSitetoolsVersion>1.11.1</doxiaSitetoolsVersion>
+    <doxiaVersion>2.0.0</doxiaVersion>
+    <doxiaSitetoolsVersion>2.0.0-M6</doxiaSitetoolsVersion>
   </properties>
   <build>
     <resources>
@@ -378,7 +378,7 @@
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-module-xhtml</artifactId>
-      <version>${doxiaVersion}</version>
+      <version>2.0.0-M3</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
@@ -410,7 +410,7 @@
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-api</artifactId>
-      <version>3.1.1</version>
+      <version>4.0.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
diff --git 
a/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java 
b/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java
index 2f883d6e..58870126 100644
--- a/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java
+++ b/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java
@@ -32,7 +32,6 @@ import java.util.Map;
 import java.util.ResourceBundle;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.doxia.sink.Sink;
 import org.apache.maven.doxia.sink.SinkFactory;
 import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
@@ -57,6 +56,7 @@ import org.apache.rat.Reporter;
 import org.apache.rat.VersionInfo;
 import org.apache.rat.license.LicenseSetFactory.LicenseFilter;
 import org.codehaus.plexus.util.ReaderFactory;
+import org.eclipse.aether.repository.RemoteRepository;
 
 import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
 
@@ -97,7 +97,7 @@ public class RatReportMojo extends AbstractRatMojo implements 
MavenMultiPageRepo
      * Remote repositories used for the project.
      */
     @Parameter(defaultValue = "${project.remoteArtifactRepositories}", 
readonly = true, required = true)
-    protected List<ArtifactRepository> remoteRepositories;
+    protected List<RemoteRepository> remoteRepositories;
 
     /**
      * SiteTool.
@@ -195,8 +195,8 @@ public class RatReportMojo extends AbstractRatMojo 
implements MavenMultiPageRepo
 
         SiteRenderingContext context;
         try {
-            Artifact skinArtifact = 
siteTool.getSkinArtifactFromRepository(session.getLocalRepository(),
-                    remoteRepositories, decorationModel);
+            Artifact skinArtifact = 
siteTool.getSkinArtifactFromRepository(session.getRepositorySession(),
+                    remoteRepositories, decorationModel.getSkin());
 
             getLog().debug(buffer().a("Rendering content with 
").strong(skinArtifact.getId() + " skin").a('.').build());
 
@@ -214,20 +214,6 @@ public class RatReportMojo extends AbstractRatMojo 
implements MavenMultiPageRepo
         return context;
     }
 
-    /**
-     * Generate a report.
-     *
-     * @param sink the sink to use for the generation.
-     * @param locale the wanted locale to generate the report, could be null.
-     * @throws MavenReportException if any
-     * @deprecated use {@link #generate(Sink, SinkFactory, Locale)} instead.
-     */
-    @Deprecated
-    @Override
-    public void generate(final org.codehaus.doxia.sink.Sink sink, final Locale 
locale) throws MavenReportException {
-        generate(sink, null, locale);
-    }
-
     /**
      * Generate a report.
      *
@@ -387,7 +373,7 @@ public class RatReportMojo extends AbstractRatMojo 
implements MavenMultiPageRepo
         sink.paragraph_();
 
         sink.paragraph();
-        sink.verbatim(SinkEventAttributeSet.BOXED);
+        sink.verbatim(SinkEventAttributeSet.SOURCE);
         try {
             ReportConfiguration config = getConfiguration();
             config.setFrom(getDefaultsBuilder().build());
diff --git 
a/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java 
b/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java
index bb42d11e..8f4da5d3 100644
--- a/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java
+++ b/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java
@@ -1,17 +1,3 @@
-package org.apache.rat.mp;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Proxy;
-import java.nio.file.Files;
-import java.util.List;
-
-import org.apache.commons.io.FileUtils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -28,7 +14,10 @@ import org.apache.commons.io.FileUtils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.rat.mp;
 
+import com.google.common.base.Charsets;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.factory.DefaultArtifactFactory;
@@ -36,14 +25,21 @@ import 
org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.artifact.repository.MavenArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.doxia.siterenderer.Renderer;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
 import org.apache.rat.testhelpers.TextUtils;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.util.DirectoryScanner;
 
-import com.google.common.base.Charsets;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Proxy;
+import java.nio.file.Files;
+import java.util.List;
 
 /**
  * Test helpers used when verifying mojo interaction in RAT integration tests.
@@ -67,7 +63,7 @@ public final class RatTestHelpers {
     }
 
     /**
-     * Copies the given files recursively in order to get all integration test 
files
+     * Copies the given files recursively to get all integration test files
      * into a target directory.
      *
      * @param pSource source files.
@@ -114,17 +110,6 @@ public final class RatTestHelpers {
         }
     }
 
-    /**
-     * Creates a new instance of {@link Renderer}.
-     *
-     * @param container current plexus container.
-     * @return A configured instance of a Default renderer.
-     * @throws Exception Creating the object failed.
-     */
-    public static Renderer newSiteRenderer(PlexusContainer container) throws 
Exception {
-        return (Renderer) container.lookup(Renderer.ROLE, "default");
-    }
-
     /**
      * Creates a new instance of {@link ArtifactFactory}.
      *
diff --git a/apache-rat-tools/src/main/resources/Maven.tpl 
b/apache-rat-tools/src/main/resources/Maven.tpl
index 0d5d420e..13d9453e 100644
--- a/apache-rat-tools/src/main/resources/Maven.tpl
+++ b/apache-rat-tools/src/main/resources/Maven.tpl
@@ -20,7 +20,7 @@
 ${package}
 
 import org.apache.commons.cli.Option;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.rat.commandline.Arg;
diff --git a/pom.xml b/pom.xml
index 472140c3..78873917 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,8 +53,8 @@ agnostic home for software distribution comprehension and 
audit tools.
     <tika.version>2.9.2</tika.version>
     <maven.compiler.source>${javaVersion}</maven.compiler.source>
     <maven.compiler.target>${javaVersion}</maven.compiler.target>
-    <!-- This is the version of Maven required to use the Rat Maven Plugin -->
-    <mavenMinVersion>3.2.5</mavenMinVersion>
+    <!-- This is the version of Maven required to use the RAT Maven Plugin -->
+    <mavenMinVersion>3.6.3</mavenMinVersion>
     <mavenVersion>3.9.10</mavenVersion>
     <creadur.jira.id>RAT</creadur.jira.id>
     <velocity.core.version>2.4.1</velocity.core.version>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index a1f15383..fe2dfd8e 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -72,6 +72,9 @@ The <action> type attribute can be one of:
     </release>
     -->
     <release version="0.17-SNAPSHOT" date="xxxx-yy-zz" description="Current 
SNAPSHOT - release to be done">
+      <action issue="RAT-440" type="add" dev="pottlinger">
+        Raise minimum Maven version to 3.6.3 in order to be compliant with new 
Doxia 2.x and reporting-api 4.x stack.
+      </action>
       <action issue="RAT-473" type="add" dev="engelen">
         Take global gitignore into account when determining which files to 
audit and which to skip.
       </action>
diff --git a/src/site/markdown/development/ui/generator.md 
b/src/site/markdown/development/ui/generator.md
index 07c81dfe..19ef7e49 100644
--- a/src/site/markdown/development/ui/generator.md
+++ b/src/site/markdown/development/ui/generator.md
@@ -83,7 +83,7 @@ The `MavenGenerator` uses a template called "Maven.tpl" that 
looks like:
 ${package}
 
 import org.apache.commons.cli.Option;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.rat.commandline.Arg;

Reply via email to