Merge pull request #164 from rmannibucau/simplistic-validator

adding a adoc sanitity checker at build time to avoid to miss some at…
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index e872148..abc1f29 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -38,4 +38,4 @@
           java-version: '11'
           distribution: 'temurin'
 
-      - run: mvn generate-resources --show-version --errors --batch-mode --no-transfer-progress
+      - run: mvn process-classes --show-version --errors --batch-mode --no-transfer-progress
diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml
index 0f8487e..10fc2cb 100644
--- a/.github/workflows/staging.yml
+++ b/.github/workflows/staging.yml
@@ -47,7 +47,7 @@
           java-version: '11'
           distribution: 'temurin'
 
-      - run: mvn generate-resources --show-version --errors --batch-mode --no-transfer-progress
+      - run: mvn process-classes --show-version --errors --batch-mode --no-transfer-progress
         working-directory: ./src
 
       - name: 'Checkout target'
diff --git a/README.adoc b/README.adoc
index 177ea53..63227a9 100644
--- a/README.adoc
+++ b/README.adoc
@@ -25,7 +25,7 @@
 
 # build the site
 cd shiro-site
-mvn clean generate-resources
+mvn clean process-classes
 # Open up the local ../shiro-site-publish/index.html file in your web browser.
 # Ensure the changes reflect what you want.
 
diff --git a/pom.xml b/pom.xml
index 611349b..3dd95d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,6 @@
 
   <groupId>org.apache.shirp</groupId>
   <artifactId>shiro-website</artifactId>
-  <packaging>pom</packaging>
   <version>999-SNAPSHOT</version>
 
   <name>Apache Shiro website</name>
@@ -35,12 +34,42 @@
   <build>
     <plugins>
       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.10.1</version>
+        <configuration>
+          <source>11</source>
+          <target>11</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <version>3.0.0</version>
+        <executions>
+          <execution>
+            <id>validate</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>java</goal>
+            </goals>
+            <configuration>
+              <includeProjectDependencies>true</includeProjectDependencies>
+              <mainClass>org.apache.shiro.site.Validator</mainClass>
+              <arguments>
+                <argument>${project.basedir}/src/site/content</argument>
+              </arguments>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
         <groupId>org.jbake</groupId>
         <artifactId>jbake-maven-plugin</artifactId>
         <version>0.3.6-rc.2</version>
         <executions>
           <execution>
-            <phase>generate-resources</phase>
+            <phase>process-classes</phase>
             <goals>
               <goal>generate</goal>
             </goals>
diff --git a/src/main/java/org/apache/shiro/site/Validator.java b/src/main/java/org/apache/shiro/site/Validator.java
new file mode 100644
index 0000000..72f5c23
--- /dev/null
+++ b/src/main/java/org/apache/shiro/site/Validator.java
@@ -0,0 +1,89 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+package org.apache.shiro.site;
+
+import java.io.IOException;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.ArrayList;
+import java.util.List;
+
+public final class Validator implements Runnable {
+    private final Path content;
+
+    private Validator(final Path content) {
+        this.content = content;
+    }
+
+    @Override
+    public void run() {
+        try {
+            validateContent();
+        } catch (final IOException e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
+    private void validateContent() throws IOException {
+        final var errors = new ArrayList<String>();
+        Files.walkFileTree(content, new SimpleFileVisitor<>() {
+            @Override
+            public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException {
+                if (file.getFileName().toString().endsWith(".adoc")) {
+                    doValidateContent(file, errors);
+                }
+                return super.visitFile(file, attrs);
+            }
+        });
+        if (!errors.isEmpty()) {
+            errors.sort(String.CASE_INSENSITIVE_ORDER);
+            throw new IllegalStateException(String.join("\n", errors));
+        }
+    }
+
+    private void doValidateContent(final Path file, final List<String> errors) throws IOException {
+        final var lines = Files.readAllLines(file); // don't use asciidoctorj to parse properly the adoc, it is way too slow to start
+        if (missDate(lines) &&
+                isNotRedirect(lines) &&
+                isNotTODO(lines)) {
+            errors.add("Missing date in '" + content.relativize(file) + "'");
+        }
+    }
+
+    // if the page is not written, no big deal to be broken
+    private boolean isNotTODO(final List<String> lines) {
+        return !(lines.size() < 10 && lines.contains("TODO"));
+    }
+
+    private boolean isNotRedirect(final List<String> lines) {
+        return lines.stream().noneMatch(":jbake-type: redirect"::equals);
+    }
+
+    private boolean missDate(final List<String> lines) {
+        return lines.stream().noneMatch(l -> l.startsWith(":jbake-date:"));
+    }
+
+    public static void main(final String... args) throws IOException {
+        final var content = Path.of(args[0]);
+        new Validator(content).run();
+    }
+}
diff --git a/src/site/content/about.adoc b/src/site/content/about.adoc
index 1cf8c4c..909c5a4 100644
--- a/src/site/content/about.adoc
+++ b/src/site/content/about.adoc
@@ -1,4 +1,5 @@
 = About Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, about
diff --git a/src/site/content/adoption.adoc b/src/site/content/adoption.adoc
index 42414d2..f5bed8c 100644
--- a/src/site/content/adoption.adoc
+++ b/src/site/content/adoption.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Adoption
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation
diff --git a/src/site/content/architecture.adoc b/src/site/content/architecture.adoc
index 346a20b..721e8cd 100644
--- a/src/site/content/architecture.adoc
+++ b/src/site/content/architecture.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Architecture
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual
diff --git a/src/site/content/articles.adoc b/src/site/content/articles.adoc
index 959394e..e25b891 100644
--- a/src/site/content/articles.adoc
+++ b/src/site/content/articles.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Articles
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: community
diff --git a/src/site/content/authentication-features.adoc b/src/site/content/authentication-features.adoc
index 3091138..eacd7c9 100644
--- a/src/site/content/authentication-features.adoc
+++ b/src/site/content/authentication-features.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Authentication Features
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: caching, authentication, features
diff --git a/src/site/content/authentication.adoc b/src/site/content/authentication.adoc
index 86b8ba4..efa37ec 100644
--- a/src/site/content/authentication.adoc
+++ b/src/site/content/authentication.adoc
@@ -1,5 +1,6 @@
 [#Authentication-Authentication]
 = Apache Shiro Authentication
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation
diff --git a/src/site/content/authorization-features.adoc b/src/site/content/authorization-features.adoc
index 72ab22b..2a5591b 100644
--- a/src/site/content/authorization-features.adoc
+++ b/src/site/content/authorization-features.adoc
@@ -1,4 +1,5 @@
 = Authorization Features
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, authorization, features
diff --git a/src/site/content/authorization.adoc b/src/site/content/authorization.adoc
index a62c755..e5b3ec9 100644
--- a/src/site/content/authorization.adoc
+++ b/src/site/content/authorization.adoc
@@ -1,5 +1,6 @@
 [#Authorization-Authorization]
 = Apache Shiro Authorization
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation
diff --git a/src/site/content/blog/2022/06/28/apache-shiro-191-released.adoc b/src/site/content/blog/2022/06/28/apache-shiro-191-released.adoc
index 2502599..9deeb1e 100644
--- a/src/site/content/blog/2022/06/28/apache-shiro-191-released.adoc
+++ b/src/site/content/blog/2022/06/28/apache-shiro-191-released.adoc
@@ -19,7 +19,7 @@
 
 = 1.9.1 available with fix CVE-2022-32532
 Brian Demers
-:jbake-date: 2022-06-28
+:jbake-date: 2022-06-28 00:00:00
 :jbake-type: post
 :jbake-status: published
 :jbake-tags: blog, release
diff --git a/src/site/content/blog/2022/06/30/jakarta-work.adoc b/src/site/content/blog/2022/06/30/jakarta-work.adoc
index 2ef66bf..d5fc613 100644
--- a/src/site/content/blog/2022/06/30/jakarta-work.adoc
+++ b/src/site/content/blog/2022/06/30/jakarta-work.adoc
@@ -19,7 +19,7 @@
 
 = Ongoing work on the Jakarta namespace transition
 Richard Zowalla
-:jbake-date: 2022-06-30
+:jbake-date: 2022-06-30 00:00:00
 :jbake-type: post
 :jbake-status: published
 :jbake-tags: blog, release
@@ -32,4 +32,4 @@
 
 == Feedback appreciated!
 
-We need **your** help in testing our relocated artifacts. Feel free to try https://repository.apache.org/content/groups/snapshots/org/apache/shiro/[our nightly snapshots], to link:/issues.html[open an issue], or to write us a message to the link:/mailing-lists.html[developer's mailing list]!
\ No newline at end of file
+We need **your** help in testing our relocated artifacts. Feel free to try https://repository.apache.org/content/groups/snapshots/org/apache/shiro/[our nightly snapshots], to link:/issues.html[open an issue], or to write us a message to the link:/mailing-lists.html[developer's mailing list]!
diff --git a/src/site/content/cachemanager.adoc b/src/site/content/cachemanager.adoc
index 9df04c0..fbe6874 100644
--- a/src/site/content/cachemanager.adoc
+++ b/src/site/content/cachemanager.adoc
@@ -1,4 +1,5 @@
 = Cache Manager
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, cache
diff --git a/src/site/content/caching.adoc b/src/site/content/caching.adoc
index 4817c60..ca96ee2 100644
--- a/src/site/content/caching.adoc
+++ b/src/site/content/caching.adoc
@@ -1,4 +1,5 @@
 = Caching
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: caching, cache
diff --git a/src/site/content/cas.adoc b/src/site/content/cas.adoc
index 73511a8..2233bd0 100644
--- a/src/site/content/cas.adoc
+++ b/src/site/content/cas.adoc
@@ -1,5 +1,6 @@
 [#CAS-IntegratingApacheShirowithCASSSOserver]
 = Integrating Apache Shiro with CAS SSO server
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, cas
diff --git a/src/site/content/command-line-hasher.adoc b/src/site/content/command-line-hasher.adoc
index f688e88..22193bb 100644
--- a/src/site/content/command-line-hasher.adoc
+++ b/src/site/content/command-line-hasher.adoc
@@ -1,5 +1,6 @@
 [#CommandLineHasher-CommandLineHasher]
 = Command Line Hasher
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, hashes, command-line, cli, hasher, tool
diff --git a/src/site/content/commercial-support.adoc b/src/site/content/commercial-support.adoc
index 6026cd9..991f1d3 100644
--- a/src/site/content/commercial-support.adoc
+++ b/src/site/content/commercial-support.adoc
@@ -1,5 +1,6 @@
 [#CommercialSupport-CommercialSupportandConsultingforApacheShiro]
 = Service and Commercial Support for Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, support, services
diff --git a/src/site/content/community.adoc b/src/site/content/community.adoc
index d5c870e..c52928e 100644
--- a/src/site/content/community.adoc
+++ b/src/site/content/community.adoc
@@ -1,4 +1,5 @@
 = Welcome to the Apache Shiro Community!
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: community
diff --git a/src/site/content/configuration.adoc b/src/site/content/configuration.adoc
index 3950a2e..c43c9a2 100644
--- a/src/site/content/configuration.adoc
+++ b/src/site/content/configuration.adoc
@@ -1,5 +1,6 @@
 [#Configuration-Configuration]
 = Apache Shiro Configuration
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation
diff --git a/src/site/content/core.adoc b/src/site/content/core.adoc
index cd01d68..a046aff 100644
--- a/src/site/content/core.adoc
+++ b/src/site/content/core.adoc
@@ -1,4 +1,5 @@
 = Core Concepts in Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, about
diff --git a/src/site/content/cryptography-features.adoc b/src/site/content/cryptography-features.adoc
index 6612fd9..6e89441 100644
--- a/src/site/content/cryptography-features.adoc
+++ b/src/site/content/cryptography-features.adoc
@@ -1,5 +1,6 @@
 [#CryptographyFeatures-ApacheShiroCryptographyFeatures]
 = Apache Shiro Cryptography Features
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, cryptography, manual
diff --git a/src/site/content/cryptography.adoc b/src/site/content/cryptography.adoc
index f2f5585..6ae33d4 100644
--- a/src/site/content/cryptography.adoc
+++ b/src/site/content/cryptography.adoc
@@ -1,4 +1,5 @@
 = Cryptography
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: lend_a_hand
 :jbake-status: published
 :jbake-tags: documentation, todo, lend-a-hand
diff --git a/src/site/content/developer-resources.adoc b/src/site/content/developer-resources.adoc
index c2c5653..1b57f2c 100644
--- a/src/site/content/developer-resources.adoc
+++ b/src/site/content/developer-resources.adoc
@@ -1,5 +1,6 @@
 [#DeveloperResources-ApacheShiroDeveloperResources]
 = Apache Shiro Developer Resources
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: development, git, clone, main, master, trunk, mavne
diff --git a/src/site/content/developers.adoc b/src/site/content/developers.adoc
index c10eb3a..25a9caa 100644
--- a/src/site/content/developers.adoc
+++ b/src/site/content/developers.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Developer Reference Information [[Developers-ApacheShiroDeveloperReferenceInformation]]
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, developer
diff --git a/src/site/content/documentation.adoc b/src/site/content/documentation.adoc
index 9639ef7..d35b7a2 100644
--- a/src/site/content/documentation.adoc
+++ b/src/site/content/documentation.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Documentation
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, overview
diff --git a/src/site/content/download.adoc b/src/site/content/download.adoc
index e84a607..c31c9b9 100644
--- a/src/site/content/download.adoc
+++ b/src/site/content/download.adoc
@@ -1,4 +1,5 @@
 = Download Apache Shiro
+:jbake-date: 2022-06-28 00:00:00
 :jbake-type: download
 :jbake-status: published
 :jbake-tags: documentation, download
diff --git a/src/site/content/events.adoc b/src/site/content/events.adoc
index 8045fa2..0f7ec76 100644
--- a/src/site/content/events.adoc
+++ b/src/site/content/events.adoc
@@ -1,5 +1,6 @@
 [#Events-ApacheShiroEvents]
 = Apache Shiro Events
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: events, meetings
diff --git a/src/site/content/features.adoc b/src/site/content/features.adoc
index 2b145a2..848d286 100644
--- a/src/site/content/features.adoc
+++ b/src/site/content/features.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Features Overview
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, overview, features
diff --git a/src/site/content/forums.adoc b/src/site/content/forums.adoc
index 92fb8aa..6581a5e 100644
--- a/src/site/content/forums.adoc
+++ b/src/site/content/forums.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Community Forums
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, community
diff --git a/src/site/content/get-started.adoc b/src/site/content/get-started.adoc
index 2266b15..9f10560 100644
--- a/src/site/content/get-started.adoc
+++ b/src/site/content/get-started.adoc
@@ -1,4 +1,5 @@
 = Get Started with Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual
diff --git a/src/site/content/graduation-resolution.adoc b/src/site/content/graduation-resolution.adoc
index 5350fba..55e0d40 100644
--- a/src/site/content/graduation-resolution.adoc
+++ b/src/site/content/graduation-resolution.adoc
@@ -1,5 +1,6 @@
 [#GraduationResolution-ApacheShiroGraduationResolution]
 = Apache Shiro Graduation Resolution
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: events, meetings
diff --git a/src/site/content/guice.adoc b/src/site/content/guice.adoc
index b2168e6..3d207e2 100644
--- a/src/site/content/guice.adoc
+++ b/src/site/content/guice.adoc
@@ -1,4 +1,5 @@
 = Integrating Apache Shiro into Guice based Application
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, integration, guice
diff --git a/src/site/content/guides.adoc b/src/site/content/guides.adoc
index 954d0a5..8e02ab6 100644
--- a/src/site/content/guides.adoc
+++ b/src/site/content/guides.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Guides
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: guides
diff --git a/src/site/content/how-to-contribute.adoc b/src/site/content/how-to-contribute.adoc
index 29aa566..27440ef 100644
--- a/src/site/content/how-to-contribute.adoc
+++ b/src/site/content/how-to-contribute.adoc
@@ -1,4 +1,5 @@
 = Contributing to Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, overview, features
diff --git a/src/site/content/integration.adoc b/src/site/content/integration.adoc
index 6d90246..a7f928b 100644
--- a/src/site/content/integration.adoc
+++ b/src/site/content/integration.adoc
@@ -1,4 +1,5 @@
 = Integrations
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, overview, features
diff --git a/src/site/content/introduction.adoc b/src/site/content/introduction.adoc
index da8db07..86b1635 100644
--- a/src/site/content/introduction.adoc
+++ b/src/site/content/introduction.adoc
@@ -1,4 +1,5 @@
 = Introduction to Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, introduction
diff --git a/src/site/content/issues.adoc b/src/site/content/issues.adoc
index 5b3badd..860fc2a 100644
--- a/src/site/content/issues.adoc
+++ b/src/site/content/issues.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Bug &amp; Issue Tracking
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, support, community, issues, bugs
diff --git a/src/site/content/java-annotations-list.adoc b/src/site/content/java-annotations-list.adoc
index 2610df5..59152e7 100644
--- a/src/site/content/java-annotations-list.adoc
+++ b/src/site/content/java-annotations-list.adoc
@@ -1,4 +1,5 @@
 = Java Annotation List
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual
diff --git a/src/site/content/java-annotations.adoc b/src/site/content/java-annotations.adoc
index 94319b3..0fbdd4e 100644
--- a/src/site/content/java-annotations.adoc
+++ b/src/site/content/java-annotations.adoc
@@ -1,4 +1,5 @@
 = Java Annotation Support
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual, annotations
diff --git a/src/site/content/java-authentication-guide.adoc b/src/site/content/java-authentication-guide.adoc
index 316edb3..a63d792 100644
--- a/src/site/content/java-authentication-guide.adoc
+++ b/src/site/content/java-authentication-guide.adoc
@@ -1,5 +1,6 @@
 [#JavaAuthenticationGuide-JavaAuthenticationGuidewithApacheShiro]
 = Java Authentication Guide with Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, authentication
diff --git a/src/site/content/java-authorization-guide.adoc b/src/site/content/java-authorization-guide.adoc
index 804e90b..8877ad4 100644
--- a/src/site/content/java-authorization-guide.adoc
+++ b/src/site/content/java-authorization-guide.adoc
@@ -1,4 +1,5 @@
 = Java Authorization Guide with Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual
diff --git a/src/site/content/java-cryptography-guide.adoc b/src/site/content/java-cryptography-guide.adoc
index b0f505b..236be38 100644
--- a/src/site/content/java-cryptography-guide.adoc
+++ b/src/site/content/java-cryptography-guide.adoc
@@ -1,4 +1,5 @@
 = Java Cryptography Guide
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, cryptography
diff --git a/src/site/content/jaxrs.adoc b/src/site/content/jaxrs.adoc
index 9e6591f..fe0c4b2 100644
--- a/src/site/content/jaxrs.adoc
+++ b/src/site/content/jaxrs.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro JAX-RS Support
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, jax-rs, integrations, web
diff --git a/src/site/content/jsp-tag-library.adoc b/src/site/content/jsp-tag-library.adoc
index 8384e82..2fe0b93 100644
--- a/src/site/content/jsp-tag-library.adoc
+++ b/src/site/content/jsp-tag-library.adoc
@@ -1,5 +1,6 @@
 [#JSPTagLibrary-JSPGSPTagLibraryforApacheShiro]
 = JSP/GSP Tag Library for Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, jsp, gsp, taglib
diff --git a/src/site/content/license.adoc b/src/site/content/license.adoc
index 8a050e9..88cb660 100644
--- a/src/site/content/license.adoc
+++ b/src/site/content/license.adoc
@@ -1,4 +1,5 @@
 = Apache License, Version 2.0
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, license
diff --git a/src/site/content/mailing-lists.adoc b/src/site/content/mailing-lists.adoc
index 24ea079..533a50b 100644
--- a/src/site/content/mailing-lists.adoc
+++ b/src/site/content/mailing-lists.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Mailing Lists
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, mailing, contact
diff --git a/src/site/content/overview.adoc b/src/site/content/overview.adoc
index d6bd3cf..3ba83bb 100644
--- a/src/site/content/overview.adoc
+++ b/src/site/content/overview.adoc
@@ -1,4 +1,5 @@
 = Overview of Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, overview
diff --git a/src/site/content/permissions.adoc b/src/site/content/permissions.adoc
index 8159397..80e208a 100644
--- a/src/site/content/permissions.adoc
+++ b/src/site/content/permissions.adoc
@@ -1,4 +1,5 @@
 = Understanding Permissions in Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: permissions, authorization
diff --git a/src/site/content/powered-by-shiro.adoc b/src/site/content/powered-by-shiro.adoc
index 9c0c741..2c2d62f 100644
--- a/src/site/content/powered-by-shiro.adoc
+++ b/src/site/content/powered-by-shiro.adoc
@@ -1,4 +1,5 @@
 = Powered by Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, overview, features
diff --git a/src/site/content/realm.adoc b/src/site/content/realm.adoc
index 8b6bded..3715a6e 100644
--- a/src/site/content/realm.adoc
+++ b/src/site/content/realm.adoc
@@ -1,5 +1,6 @@
 [#Realm-ApacheShiroRealms]
 = Apache Shiro Realms
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, support, community, mailing lists, forums, issues, bugs
diff --git a/src/site/content/reference.adoc b/src/site/content/reference.adoc
index 05538dd..77b1323 100644
--- a/src/site/content/reference.adoc
+++ b/src/site/content/reference.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Reference Documentation
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual, todo, lend-a-hand
diff --git a/src/site/content/release-archive.adoc b/src/site/content/release-archive.adoc
index 71ca4c0..fd9b739 100644
--- a/src/site/content/release-archive.adoc
+++ b/src/site/content/release-archive.adoc
@@ -1,4 +1,5 @@
 = Release Archive
+:jbake-date: 2022-06-28 00:00:00
 :jbake-type: download
 :jbake-status: published
 :jbake-tags: documentation, download, archive
diff --git a/src/site/content/roadmap.adoc b/src/site/content/roadmap.adoc
index b093925..9dec0ac 100644
--- a/src/site/content/roadmap.adoc
+++ b/src/site/content/roadmap.adoc
@@ -1,4 +1,5 @@
 = Roadmap
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: events, meetings
diff --git a/src/site/content/security-reports.adoc b/src/site/content/security-reports.adoc
index 5a923d9..1b06f0a 100644
--- a/src/site/content/security-reports.adoc
+++ b/src/site/content/security-reports.adoc
@@ -1,4 +1,5 @@
 = Security Reports
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: events, meetings
diff --git a/src/site/content/securitymanager.adoc b/src/site/content/securitymanager.adoc
index 193d97b..eded85c 100644
--- a/src/site/content/securitymanager.adoc
+++ b/src/site/content/securitymanager.adoc
@@ -1,4 +1,5 @@
 = Understanding the SecurityManager in Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: permissions, authorization, authentication, securitymanager
diff --git a/src/site/content/session-management-features.adoc b/src/site/content/session-management-features.adoc
index 6794d99..a543bcf 100644
--- a/src/site/content/session-management-features.adoc
+++ b/src/site/content/session-management-features.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Session Management Features
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual
diff --git a/src/site/content/session-management.adoc b/src/site/content/session-management.adoc
index cca5e79..4168e7d 100644
--- a/src/site/content/session-management.adoc
+++ b/src/site/content/session-management.adoc
@@ -1,5 +1,6 @@
 [#SessionManagement]
 = Session Management
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation
diff --git a/src/site/content/spring-boot.adoc b/src/site/content/spring-boot.adoc
index a63ebc2..7a47352 100644
--- a/src/site/content/spring-boot.adoc
+++ b/src/site/content/spring-boot.adoc
@@ -1,4 +1,5 @@
 = Integrating Apache Shiro into Spring-Boot Applications
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual, spring
diff --git a/src/site/content/spring-framework.adoc b/src/site/content/spring-framework.adoc
index 83aecc7..c1e5f59 100644
--- a/src/site/content/spring-framework.adoc
+++ b/src/site/content/spring-framework.adoc
@@ -1,4 +1,5 @@
 = Integrating Apache Shiro into Spring-based Applications
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual, spring
diff --git a/src/site/content/spring-xml.adoc b/src/site/content/spring-xml.adoc
index c7f89c6..980feed 100644
--- a/src/site/content/spring-xml.adoc
+++ b/src/site/content/spring-xml.adoc
@@ -1,4 +1,5 @@
 = Integrating Apache Shiro into Spring-based Applications
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual
diff --git a/src/site/content/subject.adoc b/src/site/content/subject.adoc
index a380e2f..6b92aa9 100644
--- a/src/site/content/subject.adoc
+++ b/src/site/content/subject.adoc
@@ -1,5 +1,6 @@
 [#Subject-UnderstandingSubjectsinApacheShiro]
 = Understanding Subjects in Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual, subject
diff --git a/src/site/content/support.adoc b/src/site/content/support.adoc
index dd3bb85..ba65185 100644
--- a/src/site/content/support.adoc
+++ b/src/site/content/support.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Community Support
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, support, community, mailing lists, forums, issues, bugs
diff --git a/src/site/content/terminology.adoc b/src/site/content/terminology.adoc
index 77e8cc6..7920eef 100644
--- a/src/site/content/terminology.adoc
+++ b/src/site/content/terminology.adoc
@@ -1,5 +1,6 @@
 [#Terminology-ApacheShiroTerminology]
 = Apache Shiro Terminology
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, mailing, contact
diff --git a/src/site/content/testing.adoc b/src/site/content/testing.adoc
index e533157..0e75ffe 100644
--- a/src/site/content/testing.adoc
+++ b/src/site/content/testing.adoc
@@ -1,5 +1,6 @@
 [#Testing-TestingwithApacheShiro]
 = Testing with Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, testing
diff --git a/src/site/content/tools.adoc b/src/site/content/tools.adoc
index fae6107..a37b715 100644
--- a/src/site/content/tools.adoc
+++ b/src/site/content/tools.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Tools
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, tools
diff --git a/src/site/content/tutorial.adoc b/src/site/content/tutorial.adoc
index 61ff0ce..828e3c8 100644
--- a/src/site/content/tutorial.adoc
+++ b/src/site/content/tutorial.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Tutorial
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, tutorial
diff --git a/src/site/content/web-features.adoc b/src/site/content/web-features.adoc
index c3fce7a..c13c9c1 100644
--- a/src/site/content/web-features.adoc
+++ b/src/site/content/web-features.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro for Web Applications
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, overview, web
diff --git a/src/site/content/web.adoc b/src/site/content/web.adoc
index 3e7eef2..7f85ed2 100644
--- a/src/site/content/web.adoc
+++ b/src/site/content/web.adoc
@@ -1,4 +1,5 @@
 = Apache Shiro Web Support
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, web
diff --git a/src/site/content/webapp-tutorial.adoc b/src/site/content/webapp-tutorial.adoc
index 1d063b6..34d048c 100644
--- a/src/site/content/webapp-tutorial.adoc
+++ b/src/site/content/webapp-tutorial.adoc
@@ -1,4 +1,5 @@
 = Securing Web Applications with Apache Shiro
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, manual
diff --git a/src/site/content/what-is-shiro.adoc b/src/site/content/what-is-shiro.adoc
index 7b85fc1..6f55b72 100644
--- a/src/site/content/what-is-shiro.adoc
+++ b/src/site/content/what-is-shiro.adoc
@@ -1,4 +1,5 @@
 = What is Shiro?
+:jbake-date: 2010-03-18 00:00:00
 :jbake-type: page
 :jbake-status: published
 :jbake-tags: documentation, about