You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by vy...@apache.org on 2024/04/09 09:14:31 UTC

(logging-parent) branch antora updated (76860d0 -> be5a48d)

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

vy pushed a change to branch antora
in repository https://gitbox.apache.org/repos/asf/logging-parent.git


 discard 76860d0  Initial Antora import
     new be5a48d  Initial Antora import

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (76860d0)
            \
             N -- N -- N   refs/heads/antora (be5a48d)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/build.yaml | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)


(logging-parent) 01/01: Initial Antora import

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch antora
in repository https://gitbox.apache.org/repos/asf/logging-parent.git

commit be5a48d0a79113889b7a6a4f64e36363d29e49cf
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Tue Apr 9 11:12:31 2024 +0200

    Initial Antora import
---
 .asf.yaml                                          |   2 +-
 .github/generate-email.sh                          |   2 +-
 .github/workflows/build-reusable.yaml              |  25 ++
 .github/workflows/build.yaml                       |   1 -
 .github/workflows/deploy-release-reusable.yaml     |  13 +-
 .gitignore                                         |   4 +
 NOTICE.txt                                         |   2 +-
 README.adoc                                        |   2 +-
 antora-playbook.yaml                               | 117 ++++++++++
 package.json                                       |   7 +
 pom.xml                                            | 252 ++++++++++++---------
 .../{.10.x.x => .11.x.x}/.release-notes.adoc.ftl   |   2 +-
 .../{.10.x.x => .11.x.x}/105_cyclonedx_upgrade.xml |   0
 .../139_add_parallel_release_support.xml           |   0
 .../140_add_coverage_profile.xml                   |   0
 .../update_actions_checkout.xml                    |   0
 .../update_actions_setup_java.xml                  |   0
 .../update_actions_upload_artifact.xml             |   0
 ...com_diffplug_spotless_spotless_maven_plugin.xml |   0
 ...te_com_github_spotbugs_spotbugs_annotations.xml |   0
 ...e_com_github_spotbugs_spotbugs_maven_plugin.xml |   0
 ...date_com_google_errorprone_error_prone_core.xml |   0
 ...om_h3xstream_findsecbugs_findsecbugs_plugin.xml |   0
 ...om_palantir_javaformat_palantir_java_format.xml |   0
 .../update_commons_codec_commons_codec.xml         |   0
 ...zle_enforcer_restrict_imports_enforcer_rule.xml |   0
 .../update_dependabot_fetch_metadata.xml           |   0
 .../update_github_codeql_action.xml                |   0
 ..._logging_log4j_log4j_changelog_maven_plugin.xml |   0
 ..._apache_maven_plugins_maven_artifact_plugin.xml |   0
 ...te_org_asciidoctor_asciidoctor_maven_plugin.xml |   0
 ...date_org_codehaus_mojo_flatten_maven_plugin.xml |   0
 ...update_org_cyclonedx_cyclonedx_maven_plugin.xml |   0
 .../update_org_eclipse_jgit_org_eclipse_jgit.xml   |   0
 .../update_org_jacoco_jacoco_maven_plugin.xml      |   0
 ...te_org_simplify4u_plugins_sign_maven_plugin.xml |   0
 .../xml_schema_instructions.xml                    |   0
 src/changelog/.changelog.adoc.ftl                  |   3 +-
 src/changelog/.index.adoc.ftl                      |   9 +-
 src/changelog/10.0.0/.release-notes.adoc.ftl       |   2 +-
 src/changelog/10.1.0/.release-notes.adoc.ftl       |   2 +-
 src/changelog/10.1.1/.release-notes.adoc.ftl       |   2 +-
 src/changelog/10.2.0/.release-notes.adoc.ftl       |   2 +-
 src/changelog/10.3.0/.release-notes.adoc.ftl       |   2 +-
 src/changelog/10.4.0/.release-notes.adoc.ftl       |   2 +-
 src/changelog/10.5.0/.release-notes.adoc.ftl       |   2 +-
 src/changelog/10.6.0/.release-notes.adoc.ftl       |   2 +-
 src/site/_constants.adoc                           |  46 ----
 src/site/_constants.tmpl.adoc                      |  46 ----
 src/site/_release-notes.adoc                       |  47 ----
 src/site/_release-notes/_10.0.0.adoc               |  62 -----
 src/site/_release-notes/_10.1.0.adoc               |  73 ------
 src/site/_release-notes/_10.1.1.adoc               |  56 -----
 src/site/_release-notes/_10.2.0.adoc               |  66 ------
 src/site/_release-notes/_10.3.0.adoc               |  69 ------
 src/site/_release-notes/_10.4.0.adoc               |  50 ----
 src/site/_release-notes/_10.5.0.adoc               |  63 ------
 src/site/_release-notes/_10.6.0.adoc               |  61 -----
 src/site/_release-notes/_10.x.x.adoc               |  76 -------
 src/site/antora/.antora.yml                        |  54 +++++
 src/site/antora/antora.yml                         |  54 +++++
 .../{_usage.adoc => antora/modules/ROOT/nav.adoc}  |  23 +-
 .../modules/ROOT/pages/features.adoc}              |  15 +-
 .../{ => antora/modules/ROOT/pages}/index.adoc     |  41 +---
 .../ROOT/pages/release-instructions-project.adoc}  |  25 +-
 .../pages/release-instructions-xml-schema.adoc}    |  11 +-
 .../modules/ROOT/pages/release-notes.adoc}         |  20 +-
 .../modules/ROOT/pages/usage.adoc}                 |  25 +-
 68 files changed, 484 insertions(+), 956 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 352a0c9..665bc95 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -19,7 +19,7 @@
 
 github:
   description: Parent project internally used in Maven-based projects of the Apache Logging Services
-  homepage: https://logging.apache.org/logging-parent/latest
+  homepage: https://logging.apache.org/logging-parent
   labels:
     - apache
     - java
diff --git a/.github/generate-email.sh b/.github/generate-email.sh
index 080c2e0..77e25a2 100755
--- a/.github/generate-email.sh
+++ b/.github/generate-email.sh
@@ -45,7 +45,7 @@ PROJECT_VERSION="$2"
 COMMIT_ID="$3"
 
 # Check release notes file
-RELEASE_NOTES_FILE="$SCRIPT_DIR/../src/site/_release-notes/_$PROJECT_VERSION.adoc"
+RELEASE_NOTES_FILE="$SCRIPT_DIR/../target/generated-site/antora/modules/ROOT/pages/_release-notes/$PROJECT_VERSION.adoc"
 [ -f "$RELEASE_NOTES_FILE" ] || {
     stderr "Couldn't find release notes file: $RELEASE_NOTES_FILE"
     exit 1
diff --git a/.github/workflows/build-reusable.yaml b/.github/workflows/build-reusable.yaml
index 7e2e65f..37e59b6 100644
--- a/.github/workflows/build-reusable.yaml
+++ b/.github/workflows/build-reusable.yaml
@@ -69,10 +69,35 @@ jobs:
             -DinstallAtEnd=true \
             clean install
 
+      # Node.js cache is needed for Antora
+      - name: Set up Node.js cache
+        if: inputs.site-enabled
+        id: nodejs-cache
+        uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9   # 4.0.2
+        with:
+          # We should be calculating the cache key using `package-lock.json` instead!
+          # See https://stackoverflow.com/a/48524475/1278899
+          # For that, `package-lock.json` needs to be committed into the repository – right now it is `.gitignore`d.
+          # Once it is there, we should ideally switch from `npm i` to `npm ci`.
+          # For that, we need to configure `dependabot` to update hundreds of dependencies listed in `package-lock.json`.
+          # That translates to a never ending rain of `dependabot` PRs.
+          # I doubt if the wasted CPU cycles worth the gain.
+          key: ${{ runner.os }}-nodejs-cache-${{ hashFiles('node', 'node_modules') }}
+          # `actions/cache` doesn't recommend caching `node_modules`.
+          # Though none of its recipes fit our bill, since we install Node.js using `frontend-maven-plugin`.
+          # See https://github.com/actions/cache/blob/main/examples.md#node---npm
+          # We settle for this quick-n-dirty solution for the time being.
+          path: |
+            node
+            node_modules
+
       - name: Build the website
         if: inputs.site-enabled
         shell: bash
+        env:
+          NODEJS_CACHE_HIT: ${{ steps.nodejs-cache.outputs.cache-hit }}
         run: |
+          echo "Node.js cache hit: $NODEJS_CACHE_HIT"
           ./mvnw \
             --show-version --batch-mode --errors --no-transfer-progress \
             site
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 539d399..0be2b40 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -73,4 +73,3 @@ jobs:
       contents: write
     with:
       project-id: logging-parent
-      site-enabled: true
diff --git a/.github/workflows/deploy-release-reusable.yaml b/.github/workflows/deploy-release-reusable.yaml
index 384bb23..6610e47 100644
--- a/.github/workflows/deploy-release-reusable.yaml
+++ b/.github/workflows/deploy-release-reusable.yaml
@@ -28,10 +28,6 @@ on:
         description: Identifier used in the distribution artifact and Subversion repository folder filenames (e.g., `logging-parent`)
         required: true
         type: string
-      site-enabled:
-        description: Flag indicating if a website should be generated prior to deployment using `./mvnw site`
-        default: false
-        type: boolean
       distribution-attachment-filepath-pattern:
         description: The regex pattern matched against the full filepath for determining attachments to be included in the distribution
         default: ""
@@ -139,9 +135,6 @@ jobs:
           ./mvnw \
             --non-recursive --batch-mode --errors --no-transfer-progress \
             -P changelog-release
-          ./mvnw \
-            --non-recursive --batch-mode --errors --no-transfer-progress \
-            process-sources
           git add src
           if [ -n "$(git status --porcelain)" ]; then
             git commit -S src -m "Release changelog for version \`$PROJECT_VERSION\`"
@@ -149,7 +142,6 @@ jobs:
           fi
 
       - name: Build the website
-        if: inputs.site-enabled
         shell: bash
         run: |
           export TIMESTAMP=$(./mvnw \
@@ -287,9 +279,7 @@ jobs:
           done
 
           # Copy the site
-          if [ "$SITE_ENABLED" == "true" ]; then
-            cp "$GITHUB_WORKSPACE/target/site.zip" "${DIST_FILENAME_VERSIONED_PREFIX}-site.zip"
-          fi
+          cp "$GITHUB_WORKSPACE/target/site.zip" "${DIST_FILENAME_VERSIONED_PREFIX}-site.zip"
 
           # Copy the distribution
           cp "$DIST_FILEPATH_PREFIX"* .
@@ -305,4 +295,3 @@ jobs:
           PROJECT_ID: ${{ inputs.project-id }}
           SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
           SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
-          SITE_ENABLED: ${{ inputs.site-enabled }}
diff --git a/.gitignore b/.gitignore
index cc6cc57..001bf50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,7 @@ target/
 .project
 .classpath
 .settings/
+# Node.js
+node
+node_modules
+package-lock.json
diff --git a/NOTICE.txt b/NOTICE.txt
index bd0434d..6f6f3d9 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -1,5 +1,5 @@
 Apache Log4j Parent
-Copyright 2022-2023 The Apache Software Foundation
+Copyright 2022-2024 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/README.adoc b/README.adoc
index dbf5ad3..604ee37 100644
--- a/README.adoc
+++ b/README.adoc
@@ -20,4 +20,4 @@ https://search.maven.org/search?q=g:org.apache.logging%20a:logging-parent[image:
 https://www.apache.org/licenses/LICENSE-2.0.txt[image:https://img.shields.io/github/license/apache/logging-parent.svg[License]]
 
 Parent project **internally** used in Maven-based projects of https://logging.apache.org[the Apache Logging Services] projects.
-See https://logging.apache.org/logging-parent/latest[the project website] for further information.
+See https://logging.apache.org/logging-parent[the project website] for further information.
diff --git a/antora-playbook.yaml b/antora-playbook.yaml
new file mode 100644
index 0000000..223bb1c
--- /dev/null
+++ b/antora-playbook.yaml
@@ -0,0 +1,117 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to you under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+site:
+  title: Apache Logging Parent
+  url: "https://logging.apache.org/logging-parent"
+  start_page: "ROOT::index.adoc"
+
+content:
+  sources:
+    - url: .
+      branches: HEAD
+      start_paths:
+        - target/generated-site/antora
+      edit_url:
+
+asciidoc:
+  extensions:
+    - "@asciidoctor/tabs"
+
+ui:
+
+  bundle:
+    url: "https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable"
+    snapshot: true
+
+  # Template files: https://github.com/asciidoctor/asciidoctor-docs-ui/blob/main/src
+  # Template variables: https://docs.antora.org/antora-ui-default/templates
+  supplemental_files:
+
+    # Add `@asciidoctor/tabs` extension styles
+    - path: css/vendor/tabs.css
+      contents: ./node_modules/@asciidoctor/tabs/dist/css/tabs.css
+
+    # Add `@asciidoctor/tabs` extension scripts
+    - path: js/vendor/tabs.js
+      contents: ./node_modules/@asciidoctor/tabs/dist/js/tabs.js
+
+    - path: partials/footer-scripts.hbs
+      contents: |
+        <script id="site-script" src="{{{uiRootPath}}}/js/site.js" data-ui-root-path="{{{uiRootPath}}}"></script>
+        <script async src="{{{uiRootPath}}}/js/vendor/highlight.js"></script>
+        <!-- `@asciidoctor/tabs` extension scripts -->
+        <script async src="{{{uiRootPath}}}/js/vendor/tabs.js"></script>
+        {{#if env.SITE_SEARCH_PROVIDER}}
+        {{> search-scripts}}
+        {{/if}}
+
+    - path: partials/head-styles.hbs
+      contents: |
+        <link rel="stylesheet" href="{{{uiRootPath}}}/css/site.css">
+        <link rel="icon" href="{{{uiRootPath}}}/../_images/favicon.ico" type="image/x-icon">
+        <!-- `@asciidoctor/tabs` extension styles -->
+        <link rel="stylesheet" href="{{{uiRootPath}}}/css/vendor/tabs.css">
+        <style>
+          /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
+          .toc .toc-menu li[data-level="4"] a {
+            padding-left: 2.75rem
+          }
+          /* Replace the default highlight.js color for strings from red to green: */
+          .hljs-string {
+            color: #0f8532;
+          }
+        </style>
+
+    - path: partials/header-content.hbs
+      contents: |
+        <header class="header">
+          <nav class="navbar">
+            <div class="navbar-brand">
+              <span class="navbar-item title">{{site.title}}</span>
+            </div>
+            <div id="topbar-nav" class="navbar-menu">
+              <div class="navbar-end">
+                <a class="navbar-item" href="https://logging.apache.org">a subproject of&nbsp;<strong>Apache Logging Services</strong></a>
+              </div>
+            </div>
+          </nav>
+        </header>
+
+    - path: partials/footer-content.hbs
+      contents: |
+        <footer class="footer">
+          <p>
+            Copyright © 1999-{{{year}}} <a href="https://www.apache.org/">The Apache Software Foundation</a>.
+            Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
+            Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
+          </p>
+          <p>
+            Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
+            Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+            Other names may be trademarks of their respective owners.
+          </p>
+        </footer>
+
+    # Disable component version selector
+    - path: partials/nav-explore.hbs
+      contents: ""
+
+    # Fix the `Edit this page` link
+    - path: partials/edit-this-page.hbs
+      contents: |
+        <div class="edit-this-page"><a href="https://github.com/apache/logging-parent/edit/main/src/site/antora/modules/{{page.module}}/pages/{{page.relativeSrcPath}}">Edit this Page</a></div>
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..686f9f3
--- /dev/null
+++ b/package.json
@@ -0,0 +1,7 @@
+{
+  "dependencies": {
+    "@antora/cli": "^3.2.0-alpha.4",
+    "@antora/site-generator-default": "^3.2.0-alpha.4",
+    "@asciidoctor/tabs": "^1.0.0-beta.6"
+  }
+}
diff --git a/pom.xml b/pom.xml
index 06a65cc..00d957b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -139,13 +139,13 @@
   </ciManagement>
 
   <distributionManagement>
-    <downloadUrl>https://logging.apache.org/logging-parent/latest/#distribution</downloadUrl>
+    <downloadUrl>https://logging.apache.org/logging-parent</downloadUrl>
   </distributionManagement>
 
   <properties>
 
     <!-- project version -->
-    <revision>10.7.0-SNAPSHOT</revision>
+    <revision>11.0.0-SNAPSHOT</revision>
 
     <!-- `project.build.outputTimestamp` is required to be present for reproducible builds.
          We actually inherit one from the `org.apache:apache` parent.
@@ -208,6 +208,8 @@
     <!-- These are annotation with a retention of CLASS. They can be freely upgraded. -->
     <bnd.annotation.version>7.0.0</bnd.annotation.version>
     <jspecify.version>0.3.0</jspecify.version>
+    <node.version>21.7.1</node.version>
+    <npm.version>10.5.0</npm.version>
     <osgi.annotation.version>8.1.0</osgi.annotation.version>
     <osgi.annotation.bundle.version>2.0.0</osgi.annotation.bundle.version>
     <osgi.annotation.versioning.version>1.1.2</osgi.annotation.versioning.version>
@@ -216,6 +218,7 @@
 
     <!-- plugin version overriddes -->
     <version.apache-rat-plugin>0.16</version.apache-rat-plugin>
+
     <!-- plugin versions -->
     <asciidoctor-maven-plugin.version>3.0.0</asciidoctor-maven-plugin.version>
     <beanshell-maven-plugin.version>1.4</beanshell-maven-plugin.version>
@@ -223,7 +226,9 @@
     <bnd-baseline-maven-plugin.version>7.0.0</bnd-baseline-maven-plugin.version>
     <build-helper-maven-plugin.version>3.5.0</build-helper-maven-plugin.version>
     <cyclonedx-maven-plugin.version>2.8.0</cyclonedx-maven-plugin.version>
+    <exec-maven-plugin.version>3.2.0</exec-maven-plugin.version>
     <flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
+    <frontend-maven-plugin.version>1.15.0</frontend-maven-plugin.version>
     <jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
     <log4j-changelog-maven-plugin.version>0.8.0</log4j-changelog-maven-plugin.version>
     <maven-artifact-plugin.version>3.5.1</maven-artifact-plugin.version>
@@ -283,6 +288,7 @@
   <build>
 
     <pluginManagement>
+
       <!-- Managed plugins ordered alphabetically by `artifactId` -->
       <plugins>
 
@@ -372,6 +378,7 @@
         </plugin>
 
       </plugins>
+
     </pluginManagement>
 
     <plugins>
@@ -450,8 +457,7 @@
       </plugin>
 
       <!--
-        ~ Removes a trailing `module-info.class` before each compilation to prevent `javac` failures.
-        ~
+        ~ Removes existing `module-info.class` before each compilation to prevent `javac` failures.
         ~ See https://github.com/copernik-eu/bug-reproducibility/tree/main/javac-module-info-bug
         -->
       <plugin>
@@ -567,6 +573,7 @@
           </dependency>
         </dependencies>
         <executions>
+
           <!--
             ~ Ensure that version for each dependency resolved during a build, is equal to or
             ~ higher than all transitive dependency declarations.
@@ -583,6 +590,7 @@
               </rules>
             </configuration>
           </execution>
+
           <!--
             ~ Ensures that no wildcard imports are used.
             ~ Wildcard imports increase the differences between branches and can not be expanded through simple tools.
@@ -601,6 +609,7 @@
               </rules>
             </configuration>
           </execution>
+
         </executions>
       </plugin>
 
@@ -979,7 +988,7 @@
 
   <profiles>
 
-    <!-- `changelog-validate` profile to validate changelog XMLs. -->
+    <!-- `changelog-validate` profile to validate changelog XMLs -->
     <profile>
 
       <id>changelog-validate</id>
@@ -1009,8 +1018,6 @@
                       <includes>
                         <include>**/*.xml</include>
                       </includes>
-                      <publicId>http://logging.apache.org/log4j/changelog</publicId>
-                      <systemId>https://logging.apache.org/log4j/changelog-0.1.3.xsd</systemId>
                       <validating>true</validating>
                     </validationSet>
                   </validationSets>
@@ -1023,55 +1030,6 @@
 
     </profile>
 
-    <!-- `changelog-export` profile to export changelogs -->
-    <profile>
-
-      <id>changelog-export</id>
-
-      <activation>
-        <file>
-          <exists>src/changelog</exists>
-        </file>
-      </activation>
-
-      <build>
-        <plugins>
-
-          <!-- export release notes to `src/site` -->
-          <plugin>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-changelog-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>export-changelog</id>
-                <goals>
-                  <goal>export</goal>
-                </goals>
-                <phase>generate-sources</phase>
-                <configuration>
-                  <outputDirectory>src/site</outputDirectory>
-                  <indexTemplates>
-                    <template>
-                      <source>.index.adoc.ftl</source>
-                      <target>_release-notes.adoc</target>
-                    </template>
-                  </indexTemplates>
-                  <changelogTemplates>
-                    <template>
-                      <source>.release-notes.adoc.ftl</source>
-                      <target>_release-notes/_%v.adoc</target>
-                    </template>
-                  </changelogTemplates>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-
-        </plugins>
-      </build>
-
-    </profile>
-
     <!-- `changelog-release` profile to move `src/changelog/.?.x.x` contents to their associated release directory.
          It is manually enabled by `.github/workflows/deploy-release-reusable.yaml` to generate release notes. -->
     <profile>
@@ -1234,7 +1192,7 @@
 
                     // Find auxiliary files that will go into the binary distribution
                     SortedMap pathByFile = new TreeMap();
-                    pathByFile.put("RELEASE-NOTES.adoc", new File("src/site/_release-notes/_${project.version}.adoc").toPath());
+                    pathByFile.put("RELEASE-NOTES.adoc", new File("${project.build.directory}/generated-site/antora/modules/ROOT/pages/_release-notes/${project.version}.adoc").toPath());
                     pathByFile.put("README.adoc", new File("README.adoc").toPath());
                     pathByFile.put("NOTICE.txt", new File("NOTICE.txt").toPath());
                     pathByFile.put("LICENSE.txt", new File("LICENSE.txt").toPath());
@@ -1370,7 +1328,7 @@
                 <configuration>
                   <rules>
                     <requireReleaseDeps>
-                      <message>SNAPSHOT dependencies are not allowed for releases</message>
+                      <message>A release cannot have SNAPSHOT dependencies</message>
                       <onlyWhenRelease>true</onlyWhenRelease>
                     </requireReleaseDeps>
                     <requireReleaseVersion>
@@ -1388,112 +1346,192 @@
 
     </profile>
 
-    <!-- `constants-tmpl-adoc` profile to generate `src/site/_constants.adoc` from `src/site/_constants.tmpl.adoc` -->
+    <!-- `antora` profile to generate `target/site` from `src/site/antora` -->
     <profile>
 
-      <id>constants-tmpl-adoc</id>
+      <id>antora</id>
 
       <activation>
         <file>
-          <exists>src/site/_constants.tmpl.adoc</exists>
+          <exists>src/site/antora</exists>
         </file>
       </activation>
 
+      <properties>
+
+        <!-- disable `maven-site-plugin`-->
+        <maven.site.skip>true</maven.site.skip>
+        <maven.site.deploy.skip>true</maven.site.deploy.skip>
+
+      </properties>
+
       <build>
         <plugins>
 
-          <!-- copy `src/site/_constants.tmpl.adoc` to `target/constants-adoc/_constants.adoc` -->
+          <!-- Export release notes to `target/generated-site/antora/modules/ROOT/pages` -->
+          <plugin>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-changelog-maven-plugin</artifactId>
+            <inherited>false</inherited>
+            <executions>
+              <execution>
+                <id>export-changelog</id>
+                <goals>
+                  <goal>export</goal>
+                </goals>
+                <phase>pre-site</phase>
+                <configuration>
+                  <outputDirectory>${project.build.directory}/generated-site/antora/modules/ROOT/pages</outputDirectory>
+                  <indexTemplates>
+                    <template>
+                      <source>.index.adoc.ftl</source>
+                      <target>release-notes.adoc</target>
+                    </template>
+                  </indexTemplates>
+                  <changelogTemplates>
+                    <template>
+                      <source>.release-notes.adoc.ftl</source>
+                      <target>_release-notes/%v.adoc</target>
+                    </template>
+                  </changelogTemplates>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+
+          <!-- Copy `src/site/antora/.antora.yml` to `target/antora-yml/antora.yml` -->
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-antrun-plugin</artifactId>
+            <inherited>false</inherited>
             <executions>
               <execution>
-                <id>copy-constants-adoc</id>
+                <id>copy-antora-yml</id>
                 <goals>
                   <goal>run</goal>
                 </goals>
-                <phase>generate-sources</phase>
+                <phase>pre-site</phase>
                 <configuration>
                   <target>
-                    <copy overwrite="true" tofile="${project.build.directory}/constants-adoc/_constants.adoc" verbose="true">
-                      <fileset file="src/site/_constants.tmpl.adoc" />
-                    </copy>
+                    <copy file="${project.basedir}/src/site/antora/.antora.yml" overwrite="true" tofile="${project.build.directory}/antora-yml/antora.yml" />
                   </target>
                 </configuration>
               </execution>
             </executions>
           </plugin>
 
-          <!-- process `target/constants-adoc` and output to `src/site` -->
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-resources-plugin</artifactId>
+            <inherited>false</inherited>
             <executions>
+
+              <!-- Process `target/antora-yml` and output to `target/generated-site/antora` -->
               <execution>
-                <id>filter-constants-adoc</id>
+                <id>filter-antora-yml</id>
                 <goals>
                   <goal>copy-resources</goal>
                 </goals>
-                <phase>process-sources</phase>
+                <phase>pre-site</phase>
                 <configuration>
-                  <outputDirectory>src/site</outputDirectory>
+                  <outputDirectory>${project.build.directory}/generated-site/antora</outputDirectory>
                   <resources>
                     <resource>
-                      <directory>${project.build.directory}/constants-adoc</directory>
+                      <directory>${project.build.directory}/antora-yml</directory>
                       <filtering>true</filtering>
                     </resource>
                   </resources>
                 </configuration>
               </execution>
-            </executions>
-          </plugin>
-
-        </plugins>
-      </build>
-
-    </profile>
-
-    <!-- `asciidoc` profile to generate `target/site` from `src/site` -->
-    <profile>
 
-      <id>asciidoc</id>
+              <!-- Copy `src/site` to `target/generated-site` -->
+              <execution>
+                <id>copy-site</id>
+                <goals>
+                  <goal>copy-resources</goal>
+                </goals>
+                <phase>pre-site</phase>
+                <configuration>
+                  <outputDirectory>${project.build.directory}/generated-site</outputDirectory>
+                  <resources>
+                    <resource>
+                      <directory>${project.basedir}/src/site</directory>
+                      <excludes>
+                        <!-- `filter-antora-yml` execution will populate `antora.yml`, avoid overriding it: -->
+                        <exclude>antora/antora.yml</exclude>
+                      </excludes>
+                    </resource>
+                  </resources>
+                </configuration>
+              </execution>
 
-      <activation>
-        <file>
-          <exists>src/site</exists>
-        </file>
-      </activation>
+            </executions>
+          </plugin>
 
-      <properties>
+          <plugin>
+            <groupId>com.github.eirslett</groupId>
+            <artifactId>frontend-maven-plugin</artifactId>
+            <version>${frontend-maven-plugin.version}</version>
+            <inherited>false</inherited>
+            <executions>
 
-        <!-- disable `maven-site-plugin`-->
-        <maven.site.skip>true</maven.site.skip>
-        <maven.site.deploy.skip>true</maven.site.deploy.skip>
+              <!-- Install Node & NPM -->
+              <execution>
+                <id>install-node-and-npm</id>
+                <goals>
+                  <goal>install-node-and-npm</goal>
+                </goals>
+                <phase>pre-site</phase>
+                <configuration>
+                  <nodeVersion>v${node.version}</nodeVersion>
+                  <npmVersion>${npm.version}</npmVersion>
+                </configuration>
+              </execution>
 
-      </properties>
+              <!-- Install Antora -->
+              <execution>
+                <id>install-antora</id>
+                <goals>
+                  <goal>npm</goal>
+                </goals>
+                <phase>pre-site</phase>
+              </execution>
 
-      <build>
-        <plugins>
+            </executions>
+          </plugin>
 
+          <!-- Run Antora -->
           <plugin>
-            <groupId>org.asciidoctor</groupId>
-            <artifactId>asciidoctor-maven-plugin</artifactId>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>exec-maven-plugin</artifactId>
+            <version>${exec-maven-plugin.version}</version>
             <executions>
               <execution>
-                <id>export-asciidoc-to-html</id>
+                <id>run-antora</id>
                 <goals>
-                  <goal>process-asciidoc</goal>
+                  <goal>exec</goal>
                 </goals>
                 <phase>site</phase>
+                <inherited>false</inherited>
                 <configuration>
-                  <sourceDirectory>src/site</sourceDirectory>
-                  <outputDirectory>${project.build.directory}/site</outputDirectory>
-                  <preserveDirectories>true</preserveDirectories>
-                  <attributes>
-                    <source-highlighter>coderay</source-highlighter>
-                    <toc>left</toc>
-                    <icons>font</icons>
-                  </attributes>
+                  <executable>${project.basedir}/node/node</executable>
+                  <arguments>
+                    <!-- Running `node/node node_modules/.bin/antora antora-playbook.yaml ...` doesn't work on Windows[1].
+                         I come up with the below solution working on both Linux and Windows.
+                         Pay attention to the following details:
+
+                         1. `@antora/cli` is executed programmatically (this is what `node_modules/.bin/antora` does under the hood)
+                         2. Single-quotes must be used (double-quotes get erased and hence cause syntax errors)
+                         3. Relative paths must be used[2]
+
+                         [1] For some reason, the `node_modules/.bin/antora` script is not properly executed.
+                             The following works though: `cd node_modules/.bin; ../../node/node antora ../../antora-playbook.yaml`.
+                             Motivated by this, tried configuring the `workingDirectory` parameter of the plugin, though it did not help.
+                         [2] `${project.basedir}/antora-playbook.yaml` strangely resolves to `C:\Users\user\logging-log4j2\Usersuserlogging-log4j2/antora-playbook.yaml`.
+                             I tried using `const path = require('path'); ... path.resolve('${project.basedir}', 'antora-playbook.yaml')`, but it failed with the same error too. -->
+                    <argument>--eval</argument>
+                    <argument>require('@antora/cli')(['generate', '--playbook', 'antora-playbook.yaml', '--to-dir', 'target/site'])</argument>
+                  </arguments>
                 </configuration>
               </execution>
             </executions>
diff --git a/src/changelog/.10.x.x/.release-notes.adoc.ftl b/src/changelog/.11.x.x/.release-notes.adoc.ftl
similarity index 98%
rename from src/changelog/.10.x.x/.release-notes.adoc.ftl
rename to src/changelog/.11.x.x/.release-notes.adoc.ftl
index b220984..fe09147 100644
--- a/src/changelog/.10.x.x/.release-notes.adoc.ftl
+++ b/src/changelog/.11.x.x/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/.10.x.x/105_cyclonedx_upgrade.xml b/src/changelog/.11.x.x/105_cyclonedx_upgrade.xml
similarity index 100%
rename from src/changelog/.10.x.x/105_cyclonedx_upgrade.xml
rename to src/changelog/.11.x.x/105_cyclonedx_upgrade.xml
diff --git a/src/changelog/.10.x.x/139_add_parallel_release_support.xml b/src/changelog/.11.x.x/139_add_parallel_release_support.xml
similarity index 100%
rename from src/changelog/.10.x.x/139_add_parallel_release_support.xml
rename to src/changelog/.11.x.x/139_add_parallel_release_support.xml
diff --git a/src/changelog/.10.x.x/140_add_coverage_profile.xml b/src/changelog/.11.x.x/140_add_coverage_profile.xml
similarity index 100%
rename from src/changelog/.10.x.x/140_add_coverage_profile.xml
rename to src/changelog/.11.x.x/140_add_coverage_profile.xml
diff --git a/src/changelog/.10.x.x/update_actions_checkout.xml b/src/changelog/.11.x.x/update_actions_checkout.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_actions_checkout.xml
rename to src/changelog/.11.x.x/update_actions_checkout.xml
diff --git a/src/changelog/.10.x.x/update_actions_setup_java.xml b/src/changelog/.11.x.x/update_actions_setup_java.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_actions_setup_java.xml
rename to src/changelog/.11.x.x/update_actions_setup_java.xml
diff --git a/src/changelog/.10.x.x/update_actions_upload_artifact.xml b/src/changelog/.11.x.x/update_actions_upload_artifact.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_actions_upload_artifact.xml
rename to src/changelog/.11.x.x/update_actions_upload_artifact.xml
diff --git a/src/changelog/.10.x.x/update_com_diffplug_spotless_spotless_maven_plugin.xml b/src/changelog/.11.x.x/update_com_diffplug_spotless_spotless_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_com_diffplug_spotless_spotless_maven_plugin.xml
rename to src/changelog/.11.x.x/update_com_diffplug_spotless_spotless_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/update_com_github_spotbugs_spotbugs_annotations.xml b/src/changelog/.11.x.x/update_com_github_spotbugs_spotbugs_annotations.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_com_github_spotbugs_spotbugs_annotations.xml
rename to src/changelog/.11.x.x/update_com_github_spotbugs_spotbugs_annotations.xml
diff --git a/src/changelog/.10.x.x/update_com_github_spotbugs_spotbugs_maven_plugin.xml b/src/changelog/.11.x.x/update_com_github_spotbugs_spotbugs_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_com_github_spotbugs_spotbugs_maven_plugin.xml
rename to src/changelog/.11.x.x/update_com_github_spotbugs_spotbugs_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/update_com_google_errorprone_error_prone_core.xml b/src/changelog/.11.x.x/update_com_google_errorprone_error_prone_core.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_com_google_errorprone_error_prone_core.xml
rename to src/changelog/.11.x.x/update_com_google_errorprone_error_prone_core.xml
diff --git a/src/changelog/.10.x.x/update_com_h3xstream_findsecbugs_findsecbugs_plugin.xml b/src/changelog/.11.x.x/update_com_h3xstream_findsecbugs_findsecbugs_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_com_h3xstream_findsecbugs_findsecbugs_plugin.xml
rename to src/changelog/.11.x.x/update_com_h3xstream_findsecbugs_findsecbugs_plugin.xml
diff --git a/src/changelog/.10.x.x/update_com_palantir_javaformat_palantir_java_format.xml b/src/changelog/.11.x.x/update_com_palantir_javaformat_palantir_java_format.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_com_palantir_javaformat_palantir_java_format.xml
rename to src/changelog/.11.x.x/update_com_palantir_javaformat_palantir_java_format.xml
diff --git a/src/changelog/.10.x.x/update_commons_codec_commons_codec.xml b/src/changelog/.11.x.x/update_commons_codec_commons_codec.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_commons_codec_commons_codec.xml
rename to src/changelog/.11.x.x/update_commons_codec_commons_codec.xml
diff --git a/src/changelog/.10.x.x/update_de_skuzzle_enforcer_restrict_imports_enforcer_rule.xml b/src/changelog/.11.x.x/update_de_skuzzle_enforcer_restrict_imports_enforcer_rule.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_de_skuzzle_enforcer_restrict_imports_enforcer_rule.xml
rename to src/changelog/.11.x.x/update_de_skuzzle_enforcer_restrict_imports_enforcer_rule.xml
diff --git a/src/changelog/.10.x.x/update_dependabot_fetch_metadata.xml b/src/changelog/.11.x.x/update_dependabot_fetch_metadata.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_dependabot_fetch_metadata.xml
rename to src/changelog/.11.x.x/update_dependabot_fetch_metadata.xml
diff --git a/src/changelog/.10.x.x/update_github_codeql_action.xml b/src/changelog/.11.x.x/update_github_codeql_action.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_github_codeql_action.xml
rename to src/changelog/.11.x.x/update_github_codeql_action.xml
diff --git a/src/changelog/.10.x.x/update_org_apache_logging_log4j_log4j_changelog_maven_plugin.xml b/src/changelog/.11.x.x/update_org_apache_logging_log4j_log4j_changelog_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_apache_logging_log4j_log4j_changelog_maven_plugin.xml
rename to src/changelog/.11.x.x/update_org_apache_logging_log4j_log4j_changelog_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/update_org_apache_maven_plugins_maven_artifact_plugin.xml b/src/changelog/.11.x.x/update_org_apache_maven_plugins_maven_artifact_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_apache_maven_plugins_maven_artifact_plugin.xml
rename to src/changelog/.11.x.x/update_org_apache_maven_plugins_maven_artifact_plugin.xml
diff --git a/src/changelog/.10.x.x/update_org_asciidoctor_asciidoctor_maven_plugin.xml b/src/changelog/.11.x.x/update_org_asciidoctor_asciidoctor_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_asciidoctor_asciidoctor_maven_plugin.xml
rename to src/changelog/.11.x.x/update_org_asciidoctor_asciidoctor_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/update_org_codehaus_mojo_flatten_maven_plugin.xml b/src/changelog/.11.x.x/update_org_codehaus_mojo_flatten_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_codehaus_mojo_flatten_maven_plugin.xml
rename to src/changelog/.11.x.x/update_org_codehaus_mojo_flatten_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/update_org_cyclonedx_cyclonedx_maven_plugin.xml b/src/changelog/.11.x.x/update_org_cyclonedx_cyclonedx_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_cyclonedx_cyclonedx_maven_plugin.xml
rename to src/changelog/.11.x.x/update_org_cyclonedx_cyclonedx_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/update_org_eclipse_jgit_org_eclipse_jgit.xml b/src/changelog/.11.x.x/update_org_eclipse_jgit_org_eclipse_jgit.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_eclipse_jgit_org_eclipse_jgit.xml
rename to src/changelog/.11.x.x/update_org_eclipse_jgit_org_eclipse_jgit.xml
diff --git a/src/changelog/.10.x.x/update_org_jacoco_jacoco_maven_plugin.xml b/src/changelog/.11.x.x/update_org_jacoco_jacoco_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_jacoco_jacoco_maven_plugin.xml
rename to src/changelog/.11.x.x/update_org_jacoco_jacoco_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/update_org_simplify4u_plugins_sign_maven_plugin.xml b/src/changelog/.11.x.x/update_org_simplify4u_plugins_sign_maven_plugin.xml
similarity index 100%
rename from src/changelog/.10.x.x/update_org_simplify4u_plugins_sign_maven_plugin.xml
rename to src/changelog/.11.x.x/update_org_simplify4u_plugins_sign_maven_plugin.xml
diff --git a/src/changelog/.10.x.x/xml_schema_instructions.xml b/src/changelog/.11.x.x/xml_schema_instructions.xml
similarity index 100%
rename from src/changelog/.10.x.x/xml_schema_instructions.xml
rename to src/changelog/.11.x.x/xml_schema_instructions.xml
diff --git a/src/changelog/.changelog.adoc.ftl b/src/changelog/.changelog.adoc.ftl
index ebd41f0..00a9a1a 100644
--- a/src/changelog/.changelog.adoc.ftl
+++ b/src/changelog/.changelog.adoc.ftl
@@ -17,7 +17,8 @@
 <#if entriesByType?size gt 0>
 <#list entriesByType as entryType, entries>
 
-==== ${entryType?capitalize}
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}-${entryType?lower_case}]
+=== ${entryType?capitalize}
 
 <#list entries as entry>
 * ${entry.description.text?replace("\\s+", " ", "r")}<#if entry.issues?has_content> (<#list entry.issues as issue>${issue.link}[${issue.id}]<#if issue?has_next>, </#if></#list>)</#if>
diff --git a/src/changelog/.index.adoc.ftl b/src/changelog/.index.adoc.ftl
index 8c4ff21..24c1ef3 100644
--- a/src/changelog/.index.adoc.ftl
+++ b/src/changelog/.index.adoc.ftl
@@ -33,9 +33,12 @@
     3. Commit both `.index.adoc.ftl` and the generated `.index.adoc`
 ////
 
-[#release-notes]
-== Release Notes
+// Release notes index does not look nice with a deep sectioning, override it:
+:page-toclevels: 1
 
+[#release-notes]
+= Release notes
 <#list releases as release><#if release.changelogEntryCount gt 0>
-include::_release-notes/_${release.version}.adoc[]
+
+include::_release-notes/${release.version}.adoc[]
 </#if></#list>
diff --git a/src/changelog/10.0.0/.release-notes.adoc.ftl b/src/changelog/10.0.0/.release-notes.adoc.ftl
index b60be7f..0208043 100644
--- a/src/changelog/10.0.0/.release-notes.adoc.ftl
+++ b/src/changelog/10.0.0/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/10.1.0/.release-notes.adoc.ftl b/src/changelog/10.1.0/.release-notes.adoc.ftl
index 8662cca..8747780 100644
--- a/src/changelog/10.1.0/.release-notes.adoc.ftl
+++ b/src/changelog/10.1.0/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/10.1.1/.release-notes.adoc.ftl b/src/changelog/10.1.1/.release-notes.adoc.ftl
index 247be1e..06e927c 100644
--- a/src/changelog/10.1.1/.release-notes.adoc.ftl
+++ b/src/changelog/10.1.1/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/10.2.0/.release-notes.adoc.ftl b/src/changelog/10.2.0/.release-notes.adoc.ftl
index b220984..fe09147 100644
--- a/src/changelog/10.2.0/.release-notes.adoc.ftl
+++ b/src/changelog/10.2.0/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/10.3.0/.release-notes.adoc.ftl b/src/changelog/10.3.0/.release-notes.adoc.ftl
index b220984..fe09147 100644
--- a/src/changelog/10.3.0/.release-notes.adoc.ftl
+++ b/src/changelog/10.3.0/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/10.4.0/.release-notes.adoc.ftl b/src/changelog/10.4.0/.release-notes.adoc.ftl
index b220984..fe09147 100644
--- a/src/changelog/10.4.0/.release-notes.adoc.ftl
+++ b/src/changelog/10.4.0/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/10.5.0/.release-notes.adoc.ftl b/src/changelog/10.5.0/.release-notes.adoc.ftl
index 2eedf4e..4062435 100644
--- a/src/changelog/10.5.0/.release-notes.adoc.ftl
+++ b/src/changelog/10.5.0/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/changelog/10.6.0/.release-notes.adoc.ftl b/src/changelog/10.6.0/.release-notes.adoc.ftl
index f309c17..a705f10 100644
--- a/src/changelog/10.6.0/.release-notes.adoc.ftl
+++ b/src/changelog/10.6.0/.release-notes.adoc.ftl
@@ -34,7 +34,7 @@
 ////
 
 [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
-=== ${release.version}
+== ${release.version}
 
 <#if release.date?has_content>Release date:: ${release.date}</#if>
 
diff --git a/src/site/_constants.adoc b/src/site/_constants.adoc
deleted file mode 100644
index d813c15..0000000
--- a/src/site/_constants.adoc
+++ /dev/null
@@ -1,46 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.tmpl.adoc` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    `_constants.adoc` is auto-generated from `_constants.tmpl.adoc`.
-    Auto-generation happens during `process-sources` phase of Maven.
-    Hence, you must always
-
-    1. Edit `_constants.tmpl.adoc`
-    2. Run `./mvnw process-sources`
-    3. Commit both `_constants.tmpl.adoc` and the generated `_constants.adoc`
-////
-
-:project-github-url: https://github.com/apache/logging-parent
-:project-version: 10.7.0-SNAPSHOT
-:project-name: Logging Parent
-:project-id: logging-parent
-:java-target-version: 8
-:java-compiler-version: [17,18)
-:website-github-repository-name: logging-parent
-:website-github-url: https://github.com/apache/{website-github-repository-name}
-:website-folder:
-:website-url-staging: https://logging.staged.apache.org/{project-id}
-:website-url: https://logging.apache.org/{project-id}
diff --git a/src/site/_constants.tmpl.adoc b/src/site/_constants.tmpl.adoc
deleted file mode 100644
index 550644b..0000000
--- a/src/site/_constants.tmpl.adoc
+++ /dev/null
@@ -1,46 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.tmpl.adoc` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    `_constants.adoc` is auto-generated from `_constants.tmpl.adoc`.
-    Auto-generation happens during `process-sources` phase of Maven.
-    Hence, you must always
-
-    1. Edit `_constants.tmpl.adoc`
-    2. Run `./mvnw process-sources`
-    3. Commit both `_constants.tmpl.adoc` and the generated `_constants.adoc`
-////
-
-:project-github-url: ${scm.url}
-:project-version: ${project.version}
-:project-name: Logging Parent
-:project-id: logging-parent
-:java-target-version: ${maven.compiler.target}
-:java-compiler-version: ${minimalJavaBuildVersion}
-:website-github-repository-name: logging-parent
-:website-github-url: https://github.com/apache/{website-github-repository-name}
-:website-folder:
-:website-url-staging: https://logging.staged.apache.org/{project-id}
-:website-url: https://logging.apache.org/{project-id}
diff --git a/src/site/_release-notes.adoc b/src/site/_release-notes.adoc
deleted file mode 100644
index 75e3c22..0000000
--- a/src/site/_release-notes.adoc
+++ /dev/null
@@ -1,47 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE IS CALLED `index.adoc`, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Release notes `index.adoc` is generated from `src/changelog/.index.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Edit `.index.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.index.adoc.ftl` and the generated `.index.adoc`
-////
-
-[#release-notes]
-== Release Notes
-
-include::_release-notes/_10.x.x.adoc[]
-include::_release-notes/_10.6.0.adoc[]
-include::_release-notes/_10.5.0.adoc[]
-include::_release-notes/_10.4.0.adoc[]
-include::_release-notes/_10.3.0.adoc[]
-include::_release-notes/_10.2.0.adoc[]
-include::_release-notes/_10.1.1.adoc[]
-include::_release-notes/_10.1.0.adoc[]
-include::_release-notes/_10.0.0.adoc[]
diff --git a/src/site/_release-notes/_10.0.0.adoc b/src/site/_release-notes/_10.0.0.adoc
deleted file mode 100644
index 5e3b43a..0000000
--- a/src/site/_release-notes/_10.0.0.adoc
+++ /dev/null
@@ -1,62 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-0-0]
-=== 10.0.0
-
-Release date:: 2023-09-08
-
-This minor release contains various improvements that we expect to relieve the load on `pom.xml` and GitHub Actions workflows of Maven-based projects we parent.
-This is of particular importance while managing and cutting releases from multiple repositories.
-See `README.adoc` for the complete list of features and their usage.
-
-See https://github.com/apache/logging-log4j-tools/actions/runs/6120297528[this `log4j-tools` GitHub Actions workflow run] demonstrating a successful release cut using a SNAPSHOT version of this `logging-parent` release.
-All preparations (release notes, source and binary distributions, vote & announcement emails, etc.) are staged to both Nexus and SVN and waiting the release manager to proceed.
-
-
-==== Added
-
-* Added `changelog-export` profile to easily export changelogs to Markdown files
-* Added `changelog-release` profile to easily move `src/changelog/.?.x.x` contents to their associated release directory
-* Added `deploy` profile to ease the Maven `deploy` goal
-* Added `asciidoc` profile to easily create a distribution file containing Git-tracked sources, release notes, binary attachments, `NOTICE.txt`, etc.
-* Documented release instructions (i.e., `RELEASING.md`)
-* Added `release` profile to share common release-specific Maven configuration
-* Added reusable GitHub Actions workflows to share CI boilerplate for other repositories
-* Switched to using `log4j-changelog-maven-plugin` for managing changelog and release notes
-
-==== Changed
-
-* Switched to semantic versioning (old version: `9`, new version: `10.0.0`)
diff --git a/src/site/_release-notes/_10.1.0.adoc b/src/site/_release-notes/_10.1.0.adoc
deleted file mode 100644
index d76c2de..0000000
--- a/src/site/_release-notes/_10.1.0.adoc
+++ /dev/null
@@ -1,73 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-1-0]
-=== 10.1.0
-
-Release date:: 2023-09-28
-
-This minor release focuses on shipping AsciiDoc-based website generation convenience targeting the `src/site` folder.
-As a part of this effort, `logging-parent` started publishing https://logging.apache.org/logging-parent/latest[its own website] and `log4j-changelog` support is switched from Markdown to AsciiDoc.
-
-The introduced https://github.com/bndtools/bnd/blob/master/maven-plugins/bnd-maven-plugin[`bnd-maven-plugin`] default auto-generates both OSGi and JPMS descriptors.
-Users only need to annotate packages that are to be exported with `org.osgi.annotation.bundle.Export`, plugin will do the rest of the magic.
-Hence, no need for custom `.bnd` and/or `module-info.java` files anymore.
-In particular, we expect the absence of `module-info.java` files to avoid several IDE and testing related headaches.
-
-
-==== Added
-
-* Added `asciidoc` and `constants-tmpl-adoc` profiles to generate AsciiDoc-based websites from `src/site`
-* Added support to auto-generate changelog entries for `dependabot` updates
-* Added `bnd-maven-plugin` defaults to auto-generate both OSGi and JPMS descriptors
-* Added CI report uploading in case of test or reproducibility failures (https://github.com/apache/logging-parent/issues/28[28])
-* Started publishing https://logging.apache.org/logging-parent[the project website]
-
-==== Changed
-
-* Switched the default `log4j-changelog` configuration from Markdown (`.release-notes.md.ftl` and `.index.md.ftl`) to AsciiDoc (`.release-notes.adoc.ftl` and `.index.adoc.ftl`)
-* Update `actions/checkout` to version `4.1.0`
-* Update `com.github.spotbugs:spotbugs-maven-plugin` to version `4.7.3.6`
-* Update `com.google.errorprone:error_prone_core` to version `2.22.0`
-* Update `org.apache:apache` to version `30`
-* Update `org.osgi:osgi.annotation` to version `8.1.0`
-
-==== Fixed
-
-* Replaced incorrect `java.version` Maven property override with `maven.compiler.{source,release,target}`
-
-==== Removed
-
-* Removed `project.build.outputTimestamp` override since it is already provided by the parent POM and its old value `0` was causing https://github.com/spring-projects/spring-boot/pull/37438[reproducibility issues] for `spring-boot:repackage`
diff --git a/src/site/_release-notes/_10.1.1.adoc b/src/site/_release-notes/_10.1.1.adoc
deleted file mode 100644
index e67e23b..0000000
--- a/src/site/_release-notes/_10.1.1.adoc
+++ /dev/null
@@ -1,56 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-1-1]
-=== 10.1.1
-
-Release date:: 2023-10-02
-
-This patch release contains minor fixes addressing issues blocking the release of `log4j-tools`, `log4j-kotlin`, etc.
-
-
-==== Added
-
-* Used `project.build.outputTimestamp` to timestamp generated distribution files
-
-==== Changed
-
-* Changes the default OSGi and module name to use full stops `.` instead of non-alphanumeric characters
-* Update `com.diffplug.spotless:spotless-maven-plugin` to version `2.40.0`
-
-==== Fixed
-
-* Fixed checksum (i.e., `*.sha512`) file format
-* Fix BND module name detection on multi-release JARs
diff --git a/src/site/_release-notes/_10.2.0.adoc b/src/site/_release-notes/_10.2.0.adoc
deleted file mode 100644
index cc1da33..0000000
--- a/src/site/_release-notes/_10.2.0.adoc
+++ /dev/null
@@ -1,66 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-2-0]
-=== 10.2.0
-
-Release date:: 2023-10-18
-
-This minor release contains several small improvements.
-
-
-==== Added
-
-* Added support for auto-generating CycloneDX Software Bill of Materials (SBOM)
-
-==== Changed
-
-* Add a compulsory `bnd-baseline-maven-plugin` execution to check for breaking API changes
-* Apply the default `bnd-maven-plugin` configuration to all the plugin's goals
-* Moves `.flattened-pom.xml` to the same directory as `pom.xml` to preserve the relative parent path. This requires adding `.flattened-pom.xml` to the `.gitignore` file of the repository.
-* Update `log4j-changelog` XSD (used for validating changelog entries) to version `0.1.2`
-
-==== Fixed
-
-* Prioritize definitions in `bnd-extra-*` variables over those inherited (https://github.com/apache/logging-parent/issues/39[39])
-* Keep parent in `flatten-bom` configuration (https://github.com/apache/logging-parent/issues/37[37])
-* Remove `build` in `flatten-bom` configuration
-* Fixed the archiving of symbolically linked directories in the `distribution` Maven profile (https://github.com/apache/logging-parent/issues/43[43])
-* Used specific execution IDs in ``defaultGoal``s to avoid running unwanted plugins
-
-==== Updated
-
-* Update `org.apache.logging.log4j:log4j-changelog-maven-plugin` to version `0.5.0`
-* Update `com.github.spotbugs:spotbugs-annotations` to version `4.8.0` (https://github.com/apache/logging-parent/pull/44[44])
diff --git a/src/site/_release-notes/_10.3.0.adoc b/src/site/_release-notes/_10.3.0.adoc
deleted file mode 100644
index c2e7458..0000000
--- a/src/site/_release-notes/_10.3.0.adoc
+++ /dev/null
@@ -1,69 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-3-0]
-=== 10.3.0
-
-Release date:: 2023-11-09
-
-This minor release contains several small improvements.
-
-
-==== Added
-
-* Add support to extend the `bnd-maven-plugin` configuration with `bnd-extra-config` property (https://github.com/apache/logging-log4j2/issues/1895[apache/logging-log4j2#1895])
-* Add support to replace `project.build.outputTimestamp` Maven property in CI (https://github.com/apache/logging-parent/issues/50[50])
-* Add XSLT transformation step to add a deterministic `serialNumber` and VDR links to the SBOM
-* Add support for an optional `spotbugs-exclude.xml` file
-
-==== Changed
-
-* `deploy-release-reusable.yaml` is improved to automatically derive deployed artifacts as attachments. This renders both `distribution-attachment-filepath-pattern` and `distribution-attachment-count` input arguments redundant for almost all cases.
-* Disable the usage of `<distributionManagement>` and alpha releases in the `bnd-baseline-maven-plugin`
-* Convert `bnd-maven-plugin` API leakage warnings to errors (https://github.com/apache/logging-log4j2/issues/1895[apache/logging-log4j2#1895])
-
-==== Fixed
-
-* Fix broken changelog entry validation
-* Attach `flatten:clean` to `clean` phase
-* Add missing `Implementation-` and `Specification-` entries in `MANIFEST.MF` to `bnd-maven-plugin` configuration (https://github.com/apache/logging-log4j2/issues/1923[apache/logging-log4j2#1923])
-
-==== Updated
-
-* Update `com.github.spotbugs:spotbugs-annotations` to version `4.8.1` (https://github.com/apache/logging-parent/pull/58[58])
-* Update `com.github.spotbugs:spotbugs-maven-plugin` to version `4.8.1.0` (https://github.com/apache/logging-parent/pull/57[57])
-* Update `com.google.errorprone:error_prone_core` to version `2.23.0` (https://github.com/apache/logging-parent/pull/49[49])
-* Update `org.apache.maven.plugins:maven-artifact-plugin` to version `3.5.0`
-* Update `org.cyclonedx:cyclonedx-maven-plugin` to version `2.7.10` (https://github.com/apache/logging-parent/pull/54[54])
diff --git a/src/site/_release-notes/_10.4.0.adoc b/src/site/_release-notes/_10.4.0.adoc
deleted file mode 100644
index b4d1628..0000000
--- a/src/site/_release-notes/_10.4.0.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-4-0]
-=== 10.4.0
-
-Release date:: 2023-11-13
-
-This minor release contains several small improvements.
-
-
-==== Added
-
-* Add deterministic Palantir Java formatter
-
-==== Changed
-
-* Increase directory scanning depth from 8 to 32 in the distribution BeanShell script
diff --git a/src/site/_release-notes/_10.5.0.adoc b/src/site/_release-notes/_10.5.0.adoc
deleted file mode 100644
index 31115a0..0000000
--- a/src/site/_release-notes/_10.5.0.adoc
+++ /dev/null
@@ -1,63 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-5-0]
-=== 10.5.0
-
-Release date:: 2023-12-18
-
-This minor release contains dependency updates and a change in the way BND is employed.
-
-BND Maven Plugins are upgraded to version `7.0.0`, which requires Java 17.
-Log4j was the blocker for this upgrade and the issue is resolved in https://github.com/apache/logging-log4j2/pull/2021[apache/logging-log4j2#2021].
-Note that BND Maven Plugins version `7.0.0` increased the minimum required Maven version to `3.8.1`.
-
-
-==== Changed
-
-* Switch from `bnd:jar` to `bnd:bnd-process` to improve integration with the ecosystem; IDEs, Maven plugins, etc. (https://github.com/apache/logging-parent/issues/69[69])
-* Replace `log4j-changelog` entry type of `dependabot` updates from `changed` to `updated`
-* Minimum required Maven version is increased to `3.8.1` due to BND Maven Plugin updates
-
-==== Updated
-
-* Update `biz.aQute.bnd:bnd-baseline-maven-plugin` to version `7.0.0` (https://github.com/apache/logging-parent/pull/78[78])
-* Update `biz.aQute.bnd:bnd-maven-plugin` to version `7.0.0`
-* Update `com.diffplug.spotless:spotless-maven-plugin` to version `2.41.1` (https://github.com/apache/logging-parent/pull/70[70])
-* Update `com.github.spotbugs:spotbugs-annotations` to version `4.8.3` (https://github.com/apache/logging-parent/pull/80[80])
-* Update `com.github.spotbugs:spotbugs-maven-plugin` to version `4.8.2.0` (https://github.com/apache/logging-parent/pull/71[71])
-* Update `com.palantir.javaformat:palantir-java-format` to version `2.39.0`
-* Update `org.apache:apache` to version `31` (https://github.com/apache/logging-parent/pull/73[73])
-* Update `org.apache.logging.log4j:log4j-changelog-maven-plugin` to version `0.7.0` (https://github.com/apache/logging-parent/pull/84[84])
diff --git a/src/site/_release-notes/_10.6.0.adoc b/src/site/_release-notes/_10.6.0.adoc
deleted file mode 100644
index 98524ed..0000000
--- a/src/site/_release-notes/_10.6.0.adoc
+++ /dev/null
@@ -1,61 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-6-0]
-=== 10.6.0
-
-Release date:: 2024-01-11
-
-This minor release contains several small changes to the build pipeline.
-
-Most notably it bans wildcard imports from source code, which will require expanding those imports before upgrading `logging-parent`.
-
-
-==== Added
-
-* Add JSpecify to dependency management. (https://github.com/apache/logging-parent/pull/88[88])
-* Add enforcer rule to ban wildcard imports. All imports must be expanded to provide better comparison of branches. (https://github.com/apache/logging-parent/pull/63[63])
-
-==== Changed
-
-* Merge Dependabot PRs instead of closing them. (https://github.com/apache/logging-parent/pull/82[82])
-* Disable https://bnd.bndtools.org/instructions/jpms-multi-release.html[`-jpms-multi-release`] BND option. (https://github.com/apache/logging-parent/pull/93[93])
-* Clean up residual `module-info.class` before compilation. (https://github.com/apache/logging-parent/pull/90[90])
-
-==== Updated
-
-* Update `com.google.errorprone:error_prone_core` to version `2.24.1` (https://github.com/apache/logging-parent/pull/89[89])
-* Update `github/codeql-action` to version `3.23.0` (https://github.com/apache/logging-parent/pull/91[91])
-* Update `org.apache.rat:apache-rat-plugin` to version `0.16` (https://github.com/apache/logging-parent/pull/92[92])
diff --git a/src/site/_release-notes/_10.x.x.adoc b/src/site/_release-notes/_10.x.x.adoc
deleted file mode 100644
index d6e8910..0000000
--- a/src/site/_release-notes/_10.x.x.adoc
+++ /dev/null
@@ -1,76 +0,0 @@
-////
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-////
-
-////
-    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
-    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
-    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
-    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
-     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
-
-    IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT!
-
-    Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`.
-    Auto-generation happens during `generate-sources` phase of Maven.
-    Hence, you must always
-
-    1. Find and edit the associated `.release-notes.adoc.ftl`
-    2. Run `./mvnw generate-sources`
-    3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
-////
-
-[#release-notes-10-x-x]
-=== 10.x.x
-
-
-
-This minor release contains several small improvements.
-
-
-==== Added
-
-* Add `coverage` profile to generate a test coverage report. (https://github.com/apache/logging-parent/pull/140[140])
-* Add instructions on XML schema publication (https://github.com/apache/logging-parent/issues/138[138])
-
-==== Changed
-
-* Replace `process-sbom` script with CycloneDX plugin configuration. (https://github.com/apache/logging-parent/issues/105[105])
-* Support parallel releases by uploading the distribution to `<projectId>/<version>` folders. This is needed for parallel Log4j 2 and 3 releases. (https://github.com/apache/logging-parent/issues/139[139])
-
-==== Updated
-
-* Update `actions/checkout` to version `4.1.2` (https://github.com/apache/logging-parent/pull/132[132])
-* Update `actions/setup-java` to version `4.2.1` (https://github.com/apache/logging-parent/pull/137[137])
-* Update `actions/upload-artifact` to version `4.3.1` (https://github.com/apache/logging-parent/pull/114[114])
-* Update `com.diffplug.spotless:spotless-maven-plugin` to version `2.43.0` (https://github.com/apache/logging-parent/pull/108[108])
-* Update `com.github.spotbugs:spotbugs-annotations` to version `4.8.4` (https://github.com/apache/logging-parent/pull/152[152])
-* Update `com.github.spotbugs:spotbugs-maven-plugin` to version `4.8.3.1` (https://github.com/apache/logging-parent/pull/116[116])
-* Update `com.google.errorprone:error_prone_core` to version `2.26.1` (https://github.com/apache/logging-parent/pull/134[134])
-* Update `com.h3xstream.findsecbugs:findsecbugs-plugin` to version `1.13.0` (https://github.com/apache/logging-parent/pull/127[127])
-* Update `com.palantir.javaformat:palantir-java-format` to version `2.42.0` (https://github.com/apache/logging-parent/pull/151[151])
-* Update `commons-codec:commons-codec` to version `1.16.1` (https://github.com/apache/logging-parent/pull/115[115])
-* Update `de.skuzzle.enforcer:restrict-imports-enforcer-rule` to version `2.5.0` (https://github.com/apache/logging-parent/pull/111[111])
-* Update `dependabot/fetch-metadata` to version `2.0.0` (https://github.com/apache/logging-parent/pull/144[144])
-* Update `github/codeql-action` to version `3.24.10` (https://github.com/apache/logging-parent/pull/153[153])
-* Update `org.apache.logging.log4j:log4j-changelog-maven-plugin` to version `0.8.0` (https://github.com/apache/logging-parent/pull/146[146])
-* Update `org.apache.maven.plugins:maven-artifact-plugin` to version `3.5.1` (https://github.com/apache/logging-parent/pull/149[149])
-* Update `org.asciidoctor:asciidoctor-maven-plugin` to version `3.0.0` (https://github.com/apache/logging-parent/pull/119[119])
-* Update `org.codehaus.mojo:flatten-maven-plugin` to version `1.6.0` (https://github.com/apache/logging-parent/pull/102[102])
-* Update `org.cyclonedx:cyclonedx-maven-plugin` to version `2.8.0` (https://github.com/apache/logging-parent/pull/145[145])
-* Update `org.eclipse.jgit:org.eclipse.jgit` to version `6.9.0.202403050737-r` (https://github.com/apache/logging-parent/pull/130[130])
-* Update `org.jacoco:jacoco-maven-plugin` to version `0.8.12` (https://github.com/apache/logging-parent/pull/148[148])
-* Update `org.simplify4u.plugins:sign-maven-plugin` to version `1.1.0` (https://github.com/apache/logging-parent/pull/124[124])
diff --git a/src/site/antora/.antora.yml b/src/site/antora/.antora.yml
new file mode 100644
index 0000000..21c2268
--- /dev/null
+++ b/src/site/antora/.antora.yml
@@ -0,0 +1,54 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+#  ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
+#  ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
+#  ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
+#  ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
+#   ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
+#
+#  THIS FILE IS USED AS A TEMPLATE TO AUTO-GENERATE `antora.yml`!
+#
+#  The actual `antora.yml` that is used in `target/generated-site/antora` is auto-generated from `.antora.yml`.
+#  Auto-generation happens during `pre-site` phase of Maven.
+#  Hence, you must always
+#
+#  1. Edit `.antora.yml`
+#  2. Edit `antora.yml` to match the fields in `.antora.yml` and fill Maven property placeholders with dummy values
+#
+
+name: ROOT
+title: Home
+version: ~
+start_page: index.adoc
+asciidoc:
+  attributes:
+    project-github-url: "${scm.url}"
+    project-version: "${project.version}"
+    project-name: Logging Parent
+    project-id: "logging-parent"
+    java-target-version: "${maven.compiler.target}"
+    java-compiler-version: "${minimalJavaBuildVersion}"
+    website-github-repository-name: logging-parent
+    website-github-url: "https://github.com/apache/{website-github-repository-name}"
+    website-folder: ""
+    website-url-staging: "https://logging.staged.apache.org/{project-id}"
+    website-url: "https://logging.apache.org/{project-id}"
+nav:
+  - modules/ROOT/nav.adoc
+  - modules/manual/nav.adoc
diff --git a/src/site/antora/antora.yml b/src/site/antora/antora.yml
new file mode 100644
index 0000000..0174143
--- /dev/null
+++ b/src/site/antora/antora.yml
@@ -0,0 +1,54 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+#  ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
+#  ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
+#  ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
+#  ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
+#   ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
+#
+#  THIS FILE IS A STUB!
+#
+#  The actual `antora.yml` that is used in `target/generated-site/antora` is auto-generated from `.antora.yml`.
+#  Auto-generation happens during `pre-site` phase of Maven.
+#  Hence, you must always
+#
+#  1. Edit `.antora.yml`
+#  2. Edit `antora.yml` to match the fields in `.antora.yml` and fill Maven property placeholders with dummy values
+#
+
+name: ROOT
+title: Home
+version: ~
+start_page: index.adoc
+asciidoc:
+  attributes:
+    project-github-url: "https://github.com/awesome/project"
+    project-version: "1.2.3"
+    project-name: Logging Parent
+    project-id: "logging-parent"
+    java-target-version: "8"
+    java-compiler-version: "[17,18)"
+    website-github-repository-name: logging-parent
+    website-github-url: "https://github.com/awesome/project-site"
+    website-folder: ""
+    website-url-staging: "https://logging.staged.apache.org/awesome-project"
+    website-url: "https://logging.apache.org/awesome-project"
+nav:
+  - modules/ROOT/nav.adoc
+  - modules/manual/nav.adoc
diff --git a/src/site/_usage.adoc b/src/site/antora/modules/ROOT/nav.adoc
similarity index 58%
copy from src/site/_usage.adoc
copy to src/site/antora/modules/ROOT/nav.adoc
index 6e272e6..bd802b4 100644
--- a/src/site/_usage.adoc
+++ b/src/site/antora/modules/ROOT/nav.adoc
@@ -15,21 +15,10 @@
     limitations under the License.
 ////
 
-include::_constants.adoc[]
+* xref:features.adoc[]
+* xref:usage.adoc[]
+* xref:release-notes.adoc[]
 
-[#usage]
-== Usage
-
-You can use {project-name} as follows:
-
-. Add `org.apache.logging:logging-parent:{project-version}` as a `parent` to your `pom.xml`
-. You may need to add `.mvn/jvm.config` to your project. See https://github.com/apache/logging-log4j2/blob/2.x/.mvn/jvm.config[this] as an example.
-. Check if `./mvnw verify` succeeds, otherwise make necessary changes
-. Copy and adapt the support files (`.gitignore`, `.github/workflows/build.yaml`, etc.)
-. Check out your website:
-+
-[source,bash]
-----
-./mvnw site
-python -m http.server -d target/site
-----
+.Release instructions
+** xref:release-instructions-project.adoc[For projects]
+** xref:release-instructions-xml-schema.adoc[For XML schemas]
diff --git a/src/site/_features.adoc b/src/site/antora/modules/ROOT/pages/features.adoc
similarity index 90%
rename from src/site/_features.adoc
rename to src/site/antora/modules/ROOT/pages/features.adoc
index 3eecfb9..b04088a 100644
--- a/src/site/_features.adoc
+++ b/src/site/antora/modules/ROOT/pages/features.adoc
@@ -15,16 +15,15 @@
     limitations under the License.
 ////
 
-include::_constants.adoc[]
 :cyclonedx-maven-plugin-link: https://github.com/CycloneDX/cyclonedx-maven-plugin[cyclonedx-maven-plugin]
 
 [#features]
-== Features
+= Features
 
 {project-name} aims to deliver the following features.
 
 [#parent-pom]
-=== Parent POM
+== Parent POM
 
 The provided parent POM features the following conveniences:
 
@@ -35,10 +34,10 @@ The provided parent POM features the following conveniences:
 * https://www.eclemma.org/jacoco/trunk/doc/maven.html[`jacoco-maven-plugin`] integration for test coverage analysis (optional `coverage` profile)
 * https://github.com/bndtools/bnd/blob/master/maven-plugins/bnd-maven-plugin/README.md[`bnd-maven-plugin`] integration for auto-generating OSGi and JPMS descriptors
 * {cyclonedx-maven-plugin-link} integration for auto-generating Software Bill of Materials (SBOM)
-* https://asciidoc.org/[AsciiDoc]-based site generation
+* https://antora.org/[Antora]-based site generation
 
 [#cyclonedx-sbom]
-==== CycloneDX Software Bill of Materials (SBOM)
+=== CycloneDX Software Bill of Materials (SBOM)
 
 {project-name} streamlines the generation of https://cyclonedx.org/capabilities/vdr[CycloneDX Software Bill of Materials (SBOM)] using {cyclonedx-maven-plugin-link}.
 Plugin execution is configured and activated to generate SBOM files for each module, including the root one.
@@ -48,14 +47,13 @@ Produced SBOMs are enriched with `vulnerability-assertion` references to a https
 This VDR is accessible through the following URL: https://logging.apache.org/cyclonedx/vdr.xml[]
 
 [#reusable-workflows]
-=== Reusable GitHub Actions workflows
+== Reusable GitHub Actions workflows
 
 The provided reusable GitHub Actions workflows feature the following conveniences:
 
 `build-reusable.yaml`::
 * Compiles against Java 8 bytecode using the specified Java compiler version
 * Verifies reproducibility
-* Automatically merges verified `dependabot` PRs
 
 `deploy-snapshot-reusable.yaml`::
 * Deploys SNAPSHOT artifacts
@@ -63,7 +61,6 @@ The provided reusable GitHub Actions workflows feature the following convenience
 `deploy-release-reusable.yaml`::
 * Deploys release artifacts
 * Updates `revision` and `project.build.outputTimestamp` Maven properties
-* Generates the release notes
-* Generates the distribution ZIP containing Git-tracked sources, release notes, binary attachments, `NOTICE.txt`, etc.
+* Generates the distribution ZIP containing Git-tracked sources, binary attachments, `NOTICE.txt`, etc.
 * Generates the release vote & announcement emails
 * Uploads the distribution ZIP and emails to SVN
diff --git a/src/site/index.adoc b/src/site/antora/modules/ROOT/pages/index.adoc
similarity index 57%
rename from src/site/index.adoc
rename to src/site/antora/modules/ROOT/pages/index.adoc
index d6555ef..7d934d2 100644
--- a/src/site/index.adoc
+++ b/src/site/antora/modules/ROOT/pages/index.adoc
@@ -15,18 +15,13 @@
     limitations under the License.
 ////
 
-include::_constants.adoc[]
 :log4j-url: https://logging.apache.org/log4j/2.x
 :log4j-api-url: {log4j-url}/manual/api-separation.html
 
-= Logging Parent
+= {project-name}
 
 {project-name} is the parent project **internally** used in Maven-based projects of https://logging.apache.org[the Apache Logging Services].
 
-include::_features.adoc[]
-
-include::_usage.adoc[]
-
 [#development]
 == Development
 
@@ -41,14 +36,15 @@ You can build and verify sources using:
 ./mvnw verify
 ----
 
-You can build and view the website as follows:
+You can build the website as follows:
 
 [source,bash]
 ----
 ./mvnw site
-python -m http.server -d target/site
 ----
 
+This will generate the website to the `target/site` folder, which you can view with a browser.
+
 [#distribution]
 == Distribution
 
@@ -57,35 +53,16 @@ In accordance with the Apache Software Foundation's release https://infra.apache
 * ASF https://repository.apache.org/content/repositories/releases[Release] and https://repository.apache.org/content/repositories/snapshots[snapshot] repositories (mirrored to https://central.sonatype.dev/[the Maven Central Repository])
 * ASF https://downloads.apache.org/logging/{project-id}[Distribution directory]
 
-See xref:#release-instructions[the release instructions] for details.
-
 [#support]
 == Support
 
-Please keep in mind that this project is intended for internal usage only.
+This project is intended for internal usage only.
 You can use GitHub Issues for feature requests and bug reports – not questions!
-See https://logging.apache.org/log4j/2.x/support.html[the Log4j support policy] for details.
+See https://logging.apache.org/support.html[the Logging Services support policy] for details.
 
 [#security]
 == Security
 
-If you have encountered an unlisted security vulnerability or other unexpected behaviour that has security impact, please report them privately to mailto:security@logging.apache.org[the Log4j security mailing list].
-See https://logging.apache.org/log4j/2.x/security.html[the Log4j Security page] for further details.
-
-include::_release-notes.adoc[]
-
-include::_release-instructions-project.adoc[]
-
-include::_release-instructions-xml-schema.adoc[]
-
-[#license]
-== License
-
-Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
-See `NOTICE.txt` distributed with this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
-You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0[].
-
-Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and limitations under the License.
-
+Are you looking for the list of known security vulnerabilities?
+Have you encountered an unlisted security vulnerability or other unexpected behaviour that has a security impact?
+Please refer to https://logging.apache.org/security/[the Logging Services Security page]
diff --git a/src/site/_release-instructions-project.adoc b/src/site/antora/modules/ROOT/pages/release-instructions-project.adoc
similarity index 96%
rename from src/site/_release-instructions-project.adoc
rename to src/site/antora/modules/ROOT/pages/release-instructions-project.adoc
index 4cbbb20..f3e5b9d 100644
--- a/src/site/_release-instructions-project.adoc
+++ b/src/site/antora/modules/ROOT/pages/release-instructions-project.adoc
@@ -24,10 +24,7 @@ limitations under the License.
 // Below instructions are shared by all Maven-based Apache Logging Services projects.
 // Be extremely cautious while making changes!
 
-include::_constants.adoc[]
-
-[#release-instructions]
-== Project release instructions
+= Project release instructions
 
 This section explains how to publish a new release of projects extending from the `{project-id}` POM and using its reusable CI workflows.
 
@@ -38,7 +35,7 @@ You need to adapt these values for your project and version accordingly.
 ====
 
 [#stage-release]
-=== Stage the release
+== Stage the release
 
 . Create and push the release branch:
 +
@@ -67,7 +64,7 @@ If not, commit necessary fixes, push, and repeat.
 . _Close_ the repository in https://repository.apache.org/[repository.apache.org] using a self-explanatory description, e.g., ``\`{project-id}` version \`7.8.0` RC1``
 
 [#stage-release-website]
-=== Stage the release website
+== Stage the release website
 
 [NOTE]
 ====
@@ -101,7 +98,7 @@ git push origin asf-staging
 Changes should be visible in {website-url-staging}[the project **staging** website].
 
 [#vote-release]
-=== Vote the release
+== Vote the release
 
 . Send the vote email uploaded to the https://dist.apache.org/repos/dist/dev/logging/{project-id}[dist.apache.org/repos/dist/**dev**/logging/{project-id}] Subversion repository
 +
@@ -127,10 +124,10 @@ With that, the release passes with 3 binding +1 votes from <PMC-member-1>, ...,
 ----
 
 [#publish-release]
-=== Publish the release
+== Publish the release
 
 [#publish-release-git]
-==== In the git repository
+=== In the git repository
 
 . Pull the most recent changes and tags
 +
@@ -160,7 +157,7 @@ git checkout main
 git rebase origin/main    # Sync with the remote repository
 git merge rel/7.8.0       # Pull changes up to the newly created tag
 ----
-. Set the revision property to the next development version (e.g., `7.9.0-SNAPSHOT`) in xref:pom.xml[`pom.xml`]
+. Set the revision property to the next development version (e.g., `7.9.0-SNAPSHOT`) in `pom.xml`
 . Commit changes and push the `main` branch
 . Delete the local and remote copies of the `release/7.8.0` branch
 +
@@ -171,7 +168,7 @@ git push --delete origin release/7.8.0
 ----
 
 [#publish-release-asf]
-==== In the ASF infrastructure
+=== In the ASF infrastructure
 
 . _Release_ the repository in https://repository.apache.org[repository.apache.org]
 . In https://dist.apache.org/repos/dist/release/logging/{project-id}[dist.apache.org/repos/dist] Subversion repository,
@@ -208,7 +205,7 @@ svn commit -m 'Remove `{project-id}` version `7.8.0` files released'
 . Report the release at https://reporter.apache.org/addrelease.html?logging[reporter.apache.org]
 
 [#publish-release-github]
-==== In GitHub
+=== In GitHub
 
 {project-github-url}/releases/new[Create a new release in GitHub]
 
@@ -216,7 +213,7 @@ svn commit -m 'Remove `{project-id}` version `7.8.0` files released'
 . Copy release notes from the generated emails
 
 [#publish-release-website]
-=== Publish the release website
+== Publish the release website
 
 [NOTE]
 ====
@@ -249,7 +246,7 @@ git push origin asf-site
 Changes should be visible in {website-url}[the project website].
 
 [#announce-release]
-=== Announce the release
+== Announce the release
 
 . Send the announcement email uploaded to the https://dist.apache.org/repos/dist/dev/logging/{project-id}[dist.apache.org/repos/dist/**dev**/logging/{project-id}] Subversion repository
 +
diff --git a/src/site/_release-instructions-xml-schema.adoc b/src/site/antora/modules/ROOT/pages/release-instructions-xml-schema.adoc
similarity index 97%
rename from src/site/_release-instructions-xml-schema.adoc
rename to src/site/antora/modules/ROOT/pages/release-instructions-xml-schema.adoc
index ff7c5ef..cae5418 100644
--- a/src/site/_release-instructions-xml-schema.adoc
+++ b/src/site/antora/modules/ROOT/pages/release-instructions-xml-schema.adoc
@@ -24,12 +24,12 @@ limitations under the License.
 // Below instructions are shared by all Maven-based Apache Logging Services projects.
 // Be extremely cautious while making changes!
 
-include::_constants.adoc[]
-
-[#release-instructions-xml-schema]
-== XML schema release instructions
+= XML schema release instructions
 
 This section explains how to publish XML schemas (i.e., XSD files) of projects.
+
+[#preliminaries]
+== Preliminaries
 It is crucial to understand certain things while doing an XML schema release:
 
 Projects and XML schemas have different lifecycles::
@@ -65,6 +65,9 @@ Once an XML schema is referred using a URL in the sources, the released project
 That is, if sources refer to `\https://logging.**staged**.apache.org/xml/ns/foo.xml`, we cannot magically switch them to `\https://logging.apache.org/xml/ns/foo.xml` in the released artifacts.
 Hence, XML schemas are generally published directly to the production site.
 
+[#instructions]
+== Instructions
+
 The instructions on how to publish XML schemas are shared below:
 
 . Check out the `main` branch of the https://github.com/apache/logging-site/tree/main/xml/ns[`logging-site`] repository
diff --git a/src/site/_usage.adoc b/src/site/antora/modules/ROOT/pages/release-notes.adoc
similarity index 58%
copy from src/site/_usage.adoc
copy to src/site/antora/modules/ROOT/pages/release-notes.adoc
index 6e272e6..a2bfd86 100644
--- a/src/site/_usage.adoc
+++ b/src/site/antora/modules/ROOT/pages/release-notes.adoc
@@ -15,21 +15,7 @@
     limitations under the License.
 ////
 
-include::_constants.adoc[]
+= Release notes
 
-[#usage]
-== Usage
-
-You can use {project-name} as follows:
-
-. Add `org.apache.logging:logging-parent:{project-version}` as a `parent` to your `pom.xml`
-. You may need to add `.mvn/jvm.config` to your project. See https://github.com/apache/logging-log4j2/blob/2.x/.mvn/jvm.config[this] as an example.
-. Check if `./mvnw verify` succeeds, otherwise make necessary changes
-. Copy and adapt the support files (`.gitignore`, `.github/workflows/build.yaml`, etc.)
-. Check out your website:
-+
-[source,bash]
-----
-./mvnw site
-python -m http.server -d target/site
-----
+This file is a stub.
+Its content will be auto-generated during build.
diff --git a/src/site/_usage.adoc b/src/site/antora/modules/ROOT/pages/usage.adoc
similarity index 68%
rename from src/site/_usage.adoc
rename to src/site/antora/modules/ROOT/pages/usage.adoc
index 6e272e6..d4f2fc0 100644
--- a/src/site/_usage.adoc
+++ b/src/site/antora/modules/ROOT/pages/usage.adoc
@@ -15,10 +15,7 @@
     limitations under the License.
 ////
 
-include::_constants.adoc[]
-
-[#usage]
-== Usage
+= Usage
 
 You can use {project-name} as follows:
 
@@ -26,10 +23,16 @@ You can use {project-name} as follows:
 . You may need to add `.mvn/jvm.config` to your project. See https://github.com/apache/logging-log4j2/blob/2.x/.mvn/jvm.config[this] as an example.
 . Check if `./mvnw verify` succeeds, otherwise make necessary changes
 . Copy and adapt the support files (`.gitignore`, `.github/workflows/build.yaml`, etc.)
-. Check out your website:
-+
-[source,bash]
-----
-./mvnw site
-python -m http.server -d target/site
-----
+. Copy and adapt Log4j Changelog files:
+*** `src/changelog/.<majorVersion>.x.x/.release-notes.adoc.ftl`
+*** `src/changelog/.changelog.adoc.ftl`
+*** `src/changelog/.index.adoc.ftl`
+. In order to create an Antora-based site:
+.. Copy the following files and adapt them:
+*** `antora-playbook.yaml`
+*** `package.json`
+*** `src/site/antora/antora.yml`
+*** `src/site/antora/.antora.yml`
+*** `src/site/antora/modules/ROOT/pages/release-notes.adoc`
+.. Build the website using `./mvnw site`
+.. Check out the website generated to `target/site` by pointing a browser to it