diff --git a/pom.xml b/pom.xml
index d553a6f..f766116 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,10 +98,21 @@
       <version>${mvnversion}</version>
       <scope>provided</scope>
     </dependency>
+    <!-- checking only -->
+    <dependency>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-api</artifactId>
+      <version>4.0.0-M2</version>
+    </dependency>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
-      <version>3.1.0</version>
+      <version>4.0.0-M2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-exec</artifactId>
+      <version>2.0.0-M1</version>
     </dependency>
     <dependency>
       <groupId>org.eclipse.aether</groupId>
@@ -146,6 +157,11 @@
           <artifactId>maven-project-info-reports-plugin</artifactId>
           <version>3.4.0</version>
         </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>4.0.0-M2</version>
+        </plugin>
       </plugins>
     </pluginManagement>
     <plugins>
diff --git a/src/main/java/org/apache/maven/dist/tools/pgp/CheckPgpKeysReport.java b/src/main/java/org/apache/maven/dist/tools/pgp/CheckPgpKeysReport.java
index 8f6e5a1..9d8b08f 100644
--- a/src/main/java/org/apache/maven/dist/tools/pgp/CheckPgpKeysReport.java
+++ b/src/main/java/org/apache/maven/dist/tools/pgp/CheckPgpKeysReport.java
@@ -39,6 +39,8 @@
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.reporting.MavenReportException;
 
+import static org.apache.maven.doxia.sink.impl.SinkEventAttributeSet.Semantics.BOLD;
+
 /**
  * Check PGP KEYS files.
  */
@@ -147,7 +149,7 @@
             String projectKey = projectIterator.hasNext() ? projectIterator.next() : "";
 
             sink.numberedListItem();
-            sink.verbatim( true );
+            sink.verbatim( BOLD );
             sink.rawText( distKey );
             sink.verbatim_();
             if ( !projectKey.equals( distKey ) )
@@ -156,7 +158,7 @@
                 iconError( sink );
                 sink.rawText( " project (committers)" );
 
-                sink.verbatim( true );
+                sink.verbatim( BOLD );
                 sink.rawText( projectKey );
                 sink.verbatim_();
             }
