You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by rm...@apache.org on 2021/01/12 13:57:44 UTC
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
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><custom annotation fully qualified name>[:[<RegisterClass attribute>=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 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4ad85e7000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4ad85e1000)
+ libc.so.6 => /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, …​) 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, …​) 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"><dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jcdi_2.0_spec</artifactId>
+ <version>1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-el_2.2_spec</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-annotation_1.3_spec</artifactId>
+ <version>1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-interceptor_1.2_spec</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openwebbeans</groupId>
+ <artifactId>openwebbeans-se</artifactId>
+ <version>2.0.21</version>
+ </dependency>
+</dependencies></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’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"><dependency>
+ <groupId>org.apache.geronimo.arthur.knights</groupId>
+ <artifactId>openwebbeans-knight</artifactId>
+ <version>${arthur.version}</version>
+</dependency></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"><plugin>
+ <groupId>org.apache.geronimo.arthur</groupId>
+ <artifactId>arthur-maven-plugin</artifactId>
+ <version>${arthur.version}</version>
+ <configuration>
+ <main>org.company.cdi.Main</main>
+ <graalExtensions>
+ <graalExtension>openwebbeans</graalExtension>
+ </graalExtensions>
+ </configuration>
+</plugin></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 © 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"><dependency>
+ <groupId>org.apache.geronimo.arthur.knights</groupId>
+ <artifactId>slf4j-knight</artifactId>
+ <version>${arthur.version}</version>
+</dependency></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"><plugin>
+ <groupId>org.apache.geronimo.arthur</groupId>
+ <artifactId>arthur-maven-plugin</artifactId>
+ <version>${arthur.version}</version>
+ <configuration>
+ <main>org.company.Main</main>
+ <graalExtensions>
+ <graalExtension>slf4j</graalExtension>
+ </graalExtensions>
+ </configuration>
+</plugin></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 © 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"><plugin>
<groupId>org.apache.geronimo.arthur</groupId>
<artifactId>arthur-maven-plugin</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>${arthur.version}</version>
<configuration>
<main>org.company.osgi.ScrMain</main>
<graalExtensions>