svn commit: r1070059 - in /websites/production/geronimo/content/arthur: api.html community.html downloads.html knights.html maven.html openwebbeans-knight.html slf4j-knight.html winegrower-knight.html

[email protected]
Newsgroups gmane.comp.java.geronimo.cvs
Message-ID <[email protected]>
Author: rmannibucau
Date: Tue Jan 12 13:57:44 2021
New Revision: 1070059

Log:
Site checkin for project Arthur :: Documentation

Added:
    websites/production/geronimo/content/arthur/openwebbeans-knight.html
    websites/production/geronimo/content/arthur/slf4j-knight.html
Modified:
    websites/production/geronimo/content/arthur/api.html
    websites/production/geronimo/content/arthur/community.html
    websites/production/geronimo/content/arthur/downloads.html
    websites/production/geronimo/content/arthur/knights.html
    websites/production/geronimo/content/arthur/maven.html
    websites/production/geronimo/content/arthur/winegrower-knight.html

Modified: websites/production/geronimo/content/arthur/api.html
==============================================================================
--- websites/production/geronimo/content/arthur/api.html (original)
+++ websites/production/geronimo/content/arthur/api.html Tue Jan 12 13:57:44 2021
@@ -153,6 +153,20 @@ public class All {
 <p>Previous: <a href="documentation.html">Documentation</a> Next: <a href="spi.html">Arthur SPI</a></p>
 </div>
 </div>
+</div>
+<div class="sect1">
+<h2 id="_custom_annotation_marker">Custom annotation marker</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You can set <code>extension.annotation.custom.annotations.class</code> to a list of custom annotations set on classes to replace <code>RegisterClass</code>.
+Exact configuration value follows this pattern: <code>&lt;custom annotation fully qualified name&gt;[:[&lt;RegisterClass attribute&gt;=value]|*]?</code>.
+A common example is: <code>com.foo.MyAnnot1:all=true,com.foo.MyAnnot2:allPublicMethods=true|allPublicFields=true</code>.</p>
+</div>
+<div class="paragraph">
+<p>Similarly <code>extension.annotation.custom.annotations.properties</code> enables to configure the same thing but to find classes from marked fields or methods.
+It is very common with unmanaged <code>@ConfigProperty</code> classes for example.</p>
+</div>
+</div>
 </div></div>
 
 <div id="footer">

Modified: websites/production/geronimo/content/arthur/community.html
==============================================================================
--- websites/production/geronimo/content/arthur/community.html (original)
+++ websites/production/geronimo/content/arthur/community.html Tue Jan 12 13:57:44 2021
@@ -173,7 +173,7 @@ You can find the manifest in <code>.gith
 </td>
 <td class="content">
 part of the website is generated. This is the case of the Maven plugin documentation which relies on parsing sources to extract the documentation from the source.
-These generated documentation sources can be found - once generated - in <code>documentation/target/generated_documentation</code> and can be included in the <code>documentation/src/content</code> using the variable <code>/media/data/home/rmannibucau/1_dev/geronimo-arthur/documentation/target/generated_documentation</code>.
+These generated documentation sources can be found - once generated - in <code>documentation/target/generated_documentation</code> and can be included in the <code>documentation/src/content</code> using the variable <code>/opt/rmannibucau/dev/geronimo-arthur/documentation/target/generated_documentation</code>.
 </td>
 </tr>
 </table>

Modified: websites/production/geronimo/content/arthur/downloads.html
==============================================================================
--- websites/production/geronimo/content/arthur/downloads.html (original)
+++ websites/production/geronimo/content/arthur/downloads.html Tue Jan 12 13:57:44 2021
@@ -110,7 +110,7 @@
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Arthur Source Release</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">arthur Source Release</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">1.0.0</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">2019-12-05 08:44:02</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">502 kB</p></td>

Modified: websites/production/geronimo/content/arthur/knights.html
==============================================================================
--- websites/production/geronimo/content/arthur/knights.html (original)
+++ websites/production/geronimo/content/arthur/knights.html Tue Jan 12 13:57:44 2021
@@ -102,6 +102,15 @@ The extensions are generally responsible
 <li>
 <p><a href="jsch-knight.html">JSch</a>: it contains some end user API integrated with built-in extensions to simplify application graal-ification,</p>
 </li>
+<li>
+<p><a href="winegrower-knight.html">Winegrower</a>: Apache winegrower (Cloud OSGi runtime) support.</p>
+</li>
+<li>
+<p><a href="openwebbeans-knight.html">OpenWebBeans</a>: Apache OpenWebBeans (CDI SE runtime) support.</p>
+</li>
+<li>
+<p><a href="slf4j-knight.html">SLF4J</a>: SLF4J (JUL) integration.</p>
+</li>
 </ul>
 </div>
 </div>

Modified: websites/production/geronimo/content/arthur/maven.html
==============================================================================
--- websites/production/geronimo/content/arthur/maven.html (original)
+++ websites/production/geronimo/content/arthur/maven.html Tue Jan 12 13:57:44 2021
@@ -452,7 +452,7 @@ Here is the full list of available confi
 <p>In case Graal must be downloaded to get native-image, where to take it from.</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: <a href="https://api.sdkman.io/2/broker/download/java/${graalVersion}-grl/${platform}" class="bare">https://api.sdkman.io/2/broker/download/java/${graalVersion}-grl/${platform}</a></p>
+<p><strong>Default value</strong>: <a href="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${graalSimpleVersion}/graalvm-ce-java${graalJavaVersion}-${githubPlatform}-${graalSimpleVersion}.tar.gz" class="bare">https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${graalSimpleVersion}/graalvm-ce-java${graalJavaVersion}-${githubPlatform}-${graalSimpleVersion}.tar.gz</a></p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.graalDownloadUrl</p>
@@ -488,10 +488,10 @@ Here is the full list of available confi
 <td class="tableblock halign-left valign-top"><p class="tableblock">graalVersion</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
-<p>In case Graal must be downloaded to get native-image, which version to download.</p>
+<p>In case Graal must be downloaded to get native-image, which version to download.It contains the graal version and can be suffixed by the graal java version prefixed with "r" (as on sdkman).</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: 19.3.0.r8</p>
+<p><strong>Default value</strong>: 20.3.0.r8</p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.graalVersion</p>
@@ -732,6 +732,19 @@ Here is the full list of available confi
 </div></div></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanningClassesOrPackagesExcludes</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>Classes or packages (startsWith is used to test entries).</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: -</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.scanningClassesOrPackagesExcludes</p>
+</div></div></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">scanningExcludedArtifacts</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">List</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
@@ -784,19 +797,6 @@ Here is the full list of available confi
 </div></div></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">traceClassInitialization</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
-<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
-<p>Should class initialition be tracked.</p>
-</div>
-<div class="paragraph">
-<p><strong>Default value</strong>: true</p>
-</div>
-<div class="paragraph">
-<p><strong>User property</strong>: arthur.traceClassInitialization</p>
-</div></div></td>
-</tr>
-<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">usePackagedArtifact</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
@@ -1085,6 +1085,43 @@ Its usage is close to jib - with a simpl
 </div>
 </div>
 <div class="sect3">
+<h4 id="_ldd_or_not">LDD or not</h4>
+<div class="paragraph">
+<p>By default Arthur maven docker/image plugins assume the binary is self executable by itself (statically linked).
+If it is not the case, you need to ensure the from/base image has the needed libraries.
+It is not always trivial nor convenient so we have a mode using the build machine <code>ldd</code> to detect which libs are needed and add them in the image parsing <code>ldd</code> output.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+this mode enables to build very light native images using <code>scratch</code> virtual base image (empty) but it can conflict with other base images since it sets <code>LD_LIBRARY_PATH</code> if not present int he <code>environment</code> configuration.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Here is what the <code>ldd</code> output look like - if not the case ensure to set a PATH before running the plugin which has a compliant ldd:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code>$ ldd doc.graal.bin
+        linux-vdso.so.1 (0x00007ffcc41ba000)
+        libpthread.so.0 =&gt; /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4ad85e7000)
+        libdl.so.2 =&gt; /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4ad85e1000)
+        libc.so.6 =&gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4ad83ef000)
+        /lib64/ld-linux-x86-64.so.2 (0x00007f4adba6b000)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The parser will take all line containing a <code>/</code> and the first string without any space starting by a <code>/</code> will be considered as a path of a library to include.
+With previous output, the image will get <code>libpthread.so.0</code>, <code>libdl.so.2</code>, <code>libc.so.6</code> and <code>ld-linux-x86-64.so.2</code> included (but not <code>linux-vdso.so.1</code> since it is not a path / it has no slash in the line).</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="_configuration">Configuration</h4>
 <table class="tableblock frame-all grid-all stretch table table-bordered">
 <colgroup>
@@ -1146,7 +1183,7 @@ Its usage is close to jib - with a simpl
 <p>Where is the binary to include. It defaults on native-image output if done before in the same execution</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: -</p>
+<p><strong>Default value</strong>: ${project.build.directory}/${project.artifactId}.graal.bin</p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.binarySource</p>
@@ -1221,7 +1258,7 @@ Its usage is close to jib - with a simpl
 <td class="tableblock halign-left valign-top"><p class="tableblock">from</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
-<p>Base image to use. Scratch will ensure it starts from an empty image.</p>
+<p>Base image to use. Scratch will ensure it starts from an empty image and is the most minimal option.For a partially linked use busybox:glibc.Note that using scratch can require you to turn on useLDD flag (not by default since it depends in your build OS).On the opposite, using an existing distribution (debian, fedora, &#8230;&#8203;) enables to not do that at the cost of a bigger overall image.However, not only the overall image size is important, the reusable layers can save network time so pick what fits the best your case.</p>
 </div>
 <div class="paragraph">
 <p><strong>Default value</strong>: scratch</p>
@@ -1237,7 +1274,7 @@ Its usage is close to jib - with a simpl
 <p>In case Graal must be downloaded to get native-image, where to take it from.</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: <a href="https://api.sdkman.io/2/broker/download/java/${graalVersion}-grl/${platform}" class="bare">https://api.sdkman.io/2/broker/download/java/${graalVersion}-grl/${platform}</a></p>
+<p><strong>Default value</strong>: <a href="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${graalSimpleVersion}/graalvm-ce-java${graalJavaVersion}-${githubPlatform}-${graalSimpleVersion}.tar.gz" class="bare">https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${graalSimpleVersion}/graalvm-ce-java${graalJavaVersion}-${githubPlatform}-${graalSimpleVersion}.tar.gz</a></p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.graalDownloadUrl</p>
@@ -1260,10 +1297,10 @@ Its usage is close to jib - with a simpl
 <td class="tableblock halign-left valign-top"><p class="tableblock">graalVersion</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
-<p>In case Graal must be downloaded to get native-image, which version to download.</p>
+<p>In case Graal must be downloaded to get native-image, which version to download.It contains the graal version and can be suffixed by the graal java version prefixed with "r" (as on sdkman).</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: 19.3.0.r8</p>
+<p><strong>Default value</strong>: 20.3.0.r8</p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.graalVersion</p>
@@ -1400,6 +1437,19 @@ Its usage is close to jib - with a simpl
 </div></div></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">skipLdLinuxInEntrypoint</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>If true, and even if useLDD is true, ld-linux will not be in entrypoint.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: false</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.skipLdLinuxInEntrypoint</p>
+</div></div></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
@@ -1439,6 +1489,19 @@ Its usage is close to jib - with a simpl
 </div></div></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">useLDD</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>If true, the created binary will be passed to ldd to detect the needed libraries.It enables to use FROM scratch even when the binary requires dynamic linking.Note that if ld-linux libraries is found by that processing it is set as first argument of the entrypointuntil skipLdLinuxInEntrypoint is set to true.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: false</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.useLDD</p>
+</div></div></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">workdir</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">File</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
@@ -1473,6 +1536,19 @@ this goal does <strong>not</strong> need
 </tr>
 </table>
 </div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+if you use <code>static</code> build you can use <code>scratch</code> as base image (empty) but if you use <code>-H:+StaticExecutableWithDynamicLibC</code> which statically link everything but glic you should switch to <code>busybox:glic</code> for example.
+Also note that some applications will require more libraries like libdl so ensure to adjust your base image on your usage.
+</td>
+</tr>
+</table>
+</div>
 <div class="sect3">
 <h4 id="_configuration_2">Configuration</h4>
 <table class="tableblock frame-all grid-all stretch table table-bordered">
@@ -1535,7 +1611,7 @@ this goal does <strong>not</strong> need
 <p>Where is the binary to include. It defaults on native-image output if done before in the same execution</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: -</p>
+<p><strong>Default value</strong>: ${project.build.directory}/${project.artifactId}.graal.bin</p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.binarySource</p>
@@ -1610,7 +1686,7 @@ this goal does <strong>not</strong> need
 <td class="tableblock halign-left valign-top"><p class="tableblock">from</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
-<p>Base image to use. Scratch will ensure it starts from an empty image.</p>
+<p>Base image to use. Scratch will ensure it starts from an empty image and is the most minimal option.For a partially linked use busybox:glibc.Note that using scratch can require you to turn on useLDD flag (not by default since it depends in your build OS).On the opposite, using an existing distribution (debian, fedora, &#8230;&#8203;) enables to not do that at the cost of a bigger overall image.However, not only the overall image size is important, the reusable layers can save network time so pick what fits the best your case.</p>
 </div>
 <div class="paragraph">
 <p><strong>Default value</strong>: scratch</p>
@@ -1626,7 +1702,7 @@ this goal does <strong>not</strong> need
 <p>In case Graal must be downloaded to get native-image, where to take it from.</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: <a href="https://api.sdkman.io/2/broker/download/java/${graalVersion}-grl/${platform}" class="bare">https://api.sdkman.io/2/broker/download/java/${graalVersion}-grl/${platform}</a></p>
+<p><strong>Default value</strong>: <a href="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${graalSimpleVersion}/graalvm-ce-java${graalJavaVersion}-${githubPlatform}-${graalSimpleVersion}.tar.gz" class="bare">https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${graalSimpleVersion}/graalvm-ce-java${graalJavaVersion}-${githubPlatform}-${graalSimpleVersion}.tar.gz</a></p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.graalDownloadUrl</p>
@@ -1649,10 +1725,10 @@ this goal does <strong>not</strong> need
 <td class="tableblock halign-left valign-top"><p class="tableblock">graalVersion</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
-<p>In case Graal must be downloaded to get native-image, which version to download.</p>
+<p>In case Graal must be downloaded to get native-image, which version to download.It contains the graal version and can be suffixed by the graal java version prefixed with "r" (as on sdkman).</p>
 </div>
 <div class="paragraph">
-<p><strong>Default value</strong>: 19.3.0.r8</p>
+<p><strong>Default value</strong>: 20.3.0.r8</p>
 </div>
 <div class="paragraph">
 <p><strong>User property</strong>: arthur.graalVersion</p>
@@ -1802,6 +1878,19 @@ this goal does <strong>not</strong> need
 </div></div></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">skipLdLinuxInEntrypoint</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>If true, and even if useLDD is true, ld-linux will not be in entrypoint.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: false</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.skipLdLinuxInEntrypoint</p>
+</div></div></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
@@ -1841,6 +1930,19 @@ this goal does <strong>not</strong> need
 </div></div></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">useLDD</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>If true, the created binary will be passed to ldd to detect the needed libraries.It enables to use FROM scratch even when the binary requires dynamic linking.Note that if ld-linux libraries is found by that processing it is set as first argument of the entrypointuntil skipLdLinuxInEntrypoint is set to true.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: false</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.useLDD</p>
+</div></div></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">workdir</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">File</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
@@ -1905,7 +2007,7 @@ It configure some resource bundle, setup
 </div>
 </div>
 <div class="paragraph">
-<p>Then you can just run <code>mvn arthur:native-image arthur:docker</code> to get a ready to deploy image.</p>
+<p>Then you can just run <code>mvn [package] arthur:native-image arthur:docker</code> to get a ready to deploy image.</p>
 </div>
 <hr>
 <div class="paragraph">

Added: websites/production/geronimo/content/arthur/openwebbeans-knight.html
==============================================================================
--- websites/production/geronimo/content/arthur/openwebbeans-knight.html (added)
+++ websites/production/geronimo/content/arthur/openwebbeans-knight.html Tue Jan 12 13:57:44 2021
@@ -0,0 +1,312 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8"/>
+    <title>Arthur OpenWebBeans Knights</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="Apache Geronimo Arthur Site">
+    <meta name="author" content="Apache">
+    <meta name="keywords" content="Apache Geronimo Arthur">
+    <meta name="generator" content="Arthur Site Generator">
+
+    <link rel="apple-touch-icon" sizes="57x57" href="favicon/apple-icon-57x57.png">
+    <link rel="apple-touch-icon" sizes="60x60" href="favicon/apple-icon-60x60.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="favicon/apple-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="76x76" href="favicon/apple-icon-76x76.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="favicon/apple-icon-114x114.png">
+    <link rel="apple-touch-icon" sizes="120x120" href="favicon/apple-icon-120x120.png">
+    <link rel="apple-touch-icon" sizes="144x144" href="favicon/apple-icon-144x144.png">
+    <link rel="apple-touch-icon" sizes="152x152" href="favicon/apple-icon-152x152.png">
+    <link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-icon-180x180.png">
+    <link rel="icon" type="image/png" sizes="192x192"  href="favicon/android-icon-192x192.png">
+    <link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
+    <link rel="icon" type="image/png" sizes="96x96" href="favicon/favicon-96x96.png">
+    <link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
+    <link rel="manifest" href="favicon/manifest.json">
+    <meta name="msapplication-TileColor" content="#2C3E50">
+    <meta name="msapplication-TileImage" content="favicon/ms-icon-144x144.png">
+    <meta name="theme-color" content="#2C3E50">
+
+    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" rel="stylesheet"
+          integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
+    <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"
+          integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.css"
+          integrity="sha256-IPtNBA1od/cGBfXTxYDxuT5+Y2BKy14o6j0FaIXDmYk=" crossorigin="anonymous"/>
+    <link href="https://stackpath.bootstrapcdn.com/bootswatch/4.3.1/flatly/bootstrap.min.css" rel="stylesheet"
+          integrity="sha384-T5jhQKMh96HMkXwqVMSjF3CmLcL1nT9//tCqu9By5XSdj7CwR0r+F3LTzUdfkkQf" crossorigin="anonymous">
+    <link rel="stylesheet" href="css/arthur.css"/>
+
+    <!--[if lt IE 9]>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"
+            integrity="sha256-3Jy/GbSLrg0o9y5Z5n1uw0qxZECH7C6OQpVBgNFYa0g=" crossorigin="anonymous"></script>
+    <![endif]-->
+</head>
+<body cz-shortcut-listen="true">
+
+<div class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary">
+    <div class="container">
+        <a href="index.html" class="navbar-brand">
+            <img src="image/logo.png" alt="Arthur Logo" class="d-inline-block align-top" width="32" height="32" style="margin-top: -7px;margin-right: 3px;">
+            Apache Geronimo Arthur
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"
+                aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
+            <span class="navbar-toggler-icon"></span>
+        </button>
+        <div class="collapse navbar-collapse justify-content-end" id="navbarResponsive">
+            <ul class="navbar-nav">
+                <li class="nav-item">
+                    <a class="nav-link" href="https://www.apache.org/">Apache</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="documentation.html">Documentation</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="community.html">Community</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="downloads.html">Downloads</a>
+                </li>
+                <li class="nav-item dropdown">
+                    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" id="asf-links">ASF <span
+                            class="caret"></span></a>
+                    <div class="dropdown-menu" aria-labelledby="asf-links">
+                        <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
+                        <a class="dropdown-item"
+                           href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
+                        <div class="dropdown-divider"></div>
+                        <a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>
+
+<div class="container page-header"><h1>Arthur OpenWebBeans Knights</h1>
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Arthur OpenWebBeans knight is responsible to support Apache OpenWebBeans.
+It preconfigures the most of the reflection and resource inclusion.</p>
+</div>
+<div class="paragraph">
+<p>It assumes you use <code>openwebbeans-se</code> in your project.
+Here is a sample dependencies block for a simple SCR application:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;dependencies&gt;
+  &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.geronimo.specs&lt;/groupId&gt;
+      &lt;artifactId&gt;geronimo-jcdi_2.0_spec&lt;/artifactId&gt;
+      &lt;version&gt;1.3&lt;/version&gt;
+    &lt;/dependency&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.geronimo.specs&lt;/groupId&gt;
+      &lt;artifactId&gt;geronimo-el_2.2_spec&lt;/artifactId&gt;
+      &lt;version&gt;1.1&lt;/version&gt;
+    &lt;/dependency&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.geronimo.specs&lt;/groupId&gt;
+      &lt;artifactId&gt;geronimo-annotation_1.3_spec&lt;/artifactId&gt;
+      &lt;version&gt;1.3&lt;/version&gt;
+    &lt;/dependency&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.geronimo.specs&lt;/groupId&gt;
+      &lt;artifactId&gt;geronimo-atinject_1.0_spec&lt;/artifactId&gt;
+      &lt;version&gt;1.2&lt;/version&gt;
+    &lt;/dependency&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.geronimo.specs&lt;/groupId&gt;
+      &lt;artifactId&gt;geronimo-interceptor_1.2_spec&lt;/artifactId&gt;
+      &lt;version&gt;1.2&lt;/version&gt;
+    &lt;/dependency&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.openwebbeans&lt;/groupId&gt;
+      &lt;artifactId&gt;openwebbeans-se&lt;/artifactId&gt;
+      &lt;version&gt;2.0.21&lt;/version&gt;
+    &lt;/dependency&gt;
+&lt;/dependencies&gt;</code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+this only works out of the box with OpenWebBeans 2.0.21 or later. You&#8217;ll need to tune the scanner service yourself for older versions.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_coordinates">Coordinates</h2>
+<div class="sectionbody">
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.geronimo.arthur.knights&lt;/groupId&gt;
+  &lt;artifactId&gt;openwebbeans-knight&lt;/artifactId&gt;
+  &lt;version&gt;${arthur.version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_usage">Usage</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>To make a CDI application compatible with <code>native-image</code> there are a few necessary steps to do:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Generate all CDI proxies (normal scope beans, intercepted/decorated beans)</p>
+</li>
+<li>
+<p>Include the proxies in the final image</p>
+</li>
+<li>
+<p>Include OpenWebBeans log resource bundle</p>
+</li>
+<li>
+<p>Register bean classes for reflection</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The <code>openwebbeans-knight</code> handles most of that even if you can need to tune a few details in the Arthur configuration.</p>
+</div>
+<div class="paragraph">
+<p>Finally, you must register the openwebbeans knight in <code>arthur-maven-plugin</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
+  &lt;groupId&gt;org.apache.geronimo.arthur&lt;/groupId&gt;
+  &lt;artifactId&gt;arthur-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;${arthur.version}&lt;/version&gt;
+  &lt;configuration&gt;
+    &lt;main&gt;org.company.cdi.Main&lt;/main&gt;
+    &lt;graalExtensions&gt;
+      &lt;graalExtension&gt;openwebbeans&lt;/graalExtension&gt;
+    &lt;/graalExtensions&gt;
+  &lt;/configuration&gt;
+&lt;/plugin&gt;</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_configuration">Configuration</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This knight has several configuration options:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch table table-bordered">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 16.6666%;">
+<col style="width: 50.0001%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.classes.filter.[includes|excludes]</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma separated values for scanning filter (packages).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.classes.includeAsResources</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Should classes be included as resources (.class) too.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.container.se.disableDiscovery</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Should CDI SE container auto discover the beans or not.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.container.se.properties</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Properties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CDI SE properties.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.container.se.services</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Properties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">OpenWebBeans services as properties (SPI=IMPL).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.container.se.classes</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bean classes to register.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.extension.excludes</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Extension fully qualified name prefixes to exclude undesired extensions.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.openwebbeans.runtime.properties.skipOptimizations</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">By default the knight will enable some optimization properties like skipping validation and <code>@Vetoed</code> on packages. If undesired set it to <code>true</code>.</p></td>
+</tr>
+</tbody>
+</table>
+<hr>
+<div class="paragraph">
+<p>Previous: <a href="knights.html">Knights</a></p>
+</div>
+</div>
+</div></div>
+
+<div id="footer">
+    <div class="container">
+        Copyright &copy; 1999-2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+        Apache Geronimo, Geronimo, Apache, the Apache feather logo, and the Apache Geronimo project logo are trademarks
+        of
+        The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
+        respective owners.
+    </div>
+</div>
+
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
+        integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
+<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js"
+        integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em"
+        crossorigin="anonymous"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.js"
+        integrity="sha256-SHXnnZAbgSEf+OBhDLR7I2mx9vNZAIzPeCGhxRV+VQw=" crossorigin="anonymous"></script>
+<script src="js/arthur.js"></script>
+</body>
+</html>
\ No newline at end of file

Added: websites/production/geronimo/content/arthur/slf4j-knight.html
==============================================================================
--- websites/production/geronimo/content/arthur/slf4j-knight.html (added)
+++ websites/production/geronimo/content/arthur/slf4j-knight.html Tue Jan 12 13:57:44 2021
@@ -0,0 +1,160 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8"/>
+    <title>Arthur SLF4J Knights</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="Apache Geronimo Arthur Site">
+    <meta name="author" content="Apache">
+    <meta name="keywords" content="Apache Geronimo Arthur">
+    <meta name="generator" content="Arthur Site Generator">
+
+    <link rel="apple-touch-icon" sizes="57x57" href="favicon/apple-icon-57x57.png">
+    <link rel="apple-touch-icon" sizes="60x60" href="favicon/apple-icon-60x60.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="favicon/apple-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="76x76" href="favicon/apple-icon-76x76.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="favicon/apple-icon-114x114.png">
+    <link rel="apple-touch-icon" sizes="120x120" href="favicon/apple-icon-120x120.png">
+    <link rel="apple-touch-icon" sizes="144x144" href="favicon/apple-icon-144x144.png">
+    <link rel="apple-touch-icon" sizes="152x152" href="favicon/apple-icon-152x152.png">
+    <link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-icon-180x180.png">
+    <link rel="icon" type="image/png" sizes="192x192"  href="favicon/android-icon-192x192.png">
+    <link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
+    <link rel="icon" type="image/png" sizes="96x96" href="favicon/favicon-96x96.png">
+    <link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
+    <link rel="manifest" href="favicon/manifest.json">
+    <meta name="msapplication-TileColor" content="#2C3E50">
+    <meta name="msapplication-TileImage" content="favicon/ms-icon-144x144.png">
+    <meta name="theme-color" content="#2C3E50">
+
+    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" rel="stylesheet"
+          integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
+    <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"
+          integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.css"
+          integrity="sha256-IPtNBA1od/cGBfXTxYDxuT5+Y2BKy14o6j0FaIXDmYk=" crossorigin="anonymous"/>
+    <link href="https://stackpath.bootstrapcdn.com/bootswatch/4.3.1/flatly/bootstrap.min.css" rel="stylesheet"
+          integrity="sha384-T5jhQKMh96HMkXwqVMSjF3CmLcL1nT9//tCqu9By5XSdj7CwR0r+F3LTzUdfkkQf" crossorigin="anonymous">
+    <link rel="stylesheet" href="css/arthur.css"/>
+
+    <!--[if lt IE 9]>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"
+            integrity="sha256-3Jy/GbSLrg0o9y5Z5n1uw0qxZECH7C6OQpVBgNFYa0g=" crossorigin="anonymous"></script>
+    <![endif]-->
+</head>
+<body cz-shortcut-listen="true">
+
+<div class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary">
+    <div class="container">
+        <a href="index.html" class="navbar-brand">
+            <img src="image/logo.png" alt="Arthur Logo" class="d-inline-block align-top" width="32" height="32" style="margin-top: -7px;margin-right: 3px;">
+            Apache Geronimo Arthur
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"
+                aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
+            <span class="navbar-toggler-icon"></span>
+        </button>
+        <div class="collapse navbar-collapse justify-content-end" id="navbarResponsive">
+            <ul class="navbar-nav">
+                <li class="nav-item">
+                    <a class="nav-link" href="https://www.apache.org/">Apache</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="documentation.html">Documentation</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="community.html">Community</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="downloads.html">Downloads</a>
+                </li>
+                <li class="nav-item dropdown">
+                    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" id="asf-links">ASF <span
+                            class="caret"></span></a>
+                    <div class="dropdown-menu" aria-labelledby="asf-links">
+                        <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
+                        <a class="dropdown-item"
+                           href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
+                        <div class="dropdown-divider"></div>
+                        <a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>
+
+<div class="container page-header"><h1>Arthur SLF4J Knights</h1>
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Arthur Slf4j knight is responsible to force some SLF4j and SLF4J-JUL class initialization at build time.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_coordinates">Coordinates</h2>
+<div class="sectionbody">
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.geronimo.arthur.knights&lt;/groupId&gt;
+  &lt;artifactId&gt;slf4j-knight&lt;/artifactId&gt;
+  &lt;version&gt;${arthur.version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_usage">Usage</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The <code>slf4j-knight</code> handles some build time initialization to make <code>slf4j-jdk14</code> working with graalvm compilation.</p>
+</div>
+<div class="paragraph">
+<p>You must register the slf4j knight in <code>arthur-maven-plugin</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
+  &lt;groupId&gt;org.apache.geronimo.arthur&lt;/groupId&gt;
+  &lt;artifactId&gt;arthur-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;${arthur.version}&lt;/version&gt;
+  &lt;configuration&gt;
+    &lt;main&gt;org.company.Main&lt;/main&gt;
+    &lt;graalExtensions&gt;
+      &lt;graalExtension&gt;slf4j&lt;/graalExtension&gt;
+    &lt;/graalExtensions&gt;
+  &lt;/configuration&gt;
+&lt;/plugin&gt;</code></pre>
+</div>
+</div>
+<hr>
+<div class="paragraph">
+<p>Previous: <a href="knights.html">Knights</a></p>
+</div>
+</div>
+</div></div>
+
+<div id="footer">
+    <div class="container">
+        Copyright &copy; 1999-2019 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+        Apache Geronimo, Geronimo, Apache, the Apache feather logo, and the Apache Geronimo project logo are trademarks
+        of
+        The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
+        respective owners.
+    </div>
+</div>
+
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
+        integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
+<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js"
+        integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em"
+        crossorigin="anonymous"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.js"
+        integrity="sha256-SHXnnZAbgSEf+OBhDLR7I2mx9vNZAIzPeCGhxRV+VQw=" crossorigin="anonymous"></script>
+<script src="js/arthur.js"></script>
+</body>
+</html>
\ No newline at end of file

Modified: websites/production/geronimo/content/arthur/winegrower-knight.html
==============================================================================
--- websites/production/geronimo/content/arthur/winegrower-knight.html (original)
+++ websites/production/geronimo/content/arthur/winegrower-knight.html Tue Jan 12 13:57:44 2021
@@ -242,7 +242,7 @@ If you decide to use the plugin you must
 <pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
   &lt;groupId&gt;org.apache.geronimo.arthur&lt;/groupId&gt;
   &lt;artifactId&gt;arthur-maven-plugin&lt;/artifactId&gt;
-  &lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt;
+  &lt;version&gt;${arthur.version}&lt;/version&gt;
   &lt;configuration&gt;
     &lt;main&gt;org.company.osgi.ScrMain&lt;/main&gt;
     &lt;graalExtensions&gt;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.