You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by bu...@apache.org on 2019/11/11 20:11:22 UTC

svn commit: r1052725 - in /websites/production/geronimo/content/arthur: community.html jsch-knight.html maven.html winegrower-knight.html

Author: buildbot
Date: Mon Nov 11 20:11:22 2019
New Revision: 1052725

Log:
manual commit test...

Added:
    websites/production/geronimo/content/arthur/winegrower-knight.html
Modified:
    websites/production/geronimo/content/arthur/community.html
    websites/production/geronimo/content/arthur/jsch-knight.html
    websites/production/geronimo/content/arthur/maven.html

Modified: websites/production/geronimo/content/arthur/community.html
==============================================================================
--- websites/production/geronimo/content/arthur/community.html (original)
+++ websites/production/geronimo/content/arthur/community.html Mon Nov 11 20:11:22 2019
@@ -86,14 +86,27 @@
 </div>
 
 <div class="container page-header"><h1>Community</h1>
-<div class="sect2">
-<h3 id="_the_source_code">The Source Code</h3>
+<div class="sect1">
+<h2 id="_the_source_code">The Source Code</h2>
+<div class="sectionbody">
 <div class="paragraph">
-<p>Source code is available on <a href="https://gitbox.apache.org/repos/asf?p=geronimo-arthur.git">gitbox</a>.</p>
+<p>Source code is available on <a href="https://gitbox.apache.org/repos/asf?p=geronimo-arthur.git">gitbox</a>.
+It is proxied on <a href="https://github.com/apache/geronimo-arthur">Github</a> too if you prefer.</p>
 </div>
 </div>
-<div class="sect2">
-<h3 id="_social_media_cause_contributing_is_not_only_about_coding">Social Media: cause contributing is not only about coding</h3>
+</div>
+<div class="sect1">
+<h2 id="_ci">CI</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The continous integration is done on Github Actions.
+You can find the manifest in <code>.github/workflows/maven.yml</code>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_social_media_cause_contributing_is_not_only_about_coding">Social Media: cause contributing is not only about coding</h2>
+<div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
@@ -105,8 +118,10 @@
 </ul>
 </div>
 </div>
-<div class="sect2">
-<h3 id="_mailing_lists">Mailing lists</h3>
+</div>
+<div class="sect1">
+<h2 id="_mailing_lists">Mailing lists</h2>
+<div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
@@ -123,6 +138,56 @@
 <div class="paragraph">
 <p>Archives can be found on <a href="http://apache-geronimo.328035.n3.nabble.com/">Nabble</a>.</p>
 </div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_websitedocumentation">Website/Documentation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If you want to contribute to the website you can just fork the source repository on Github and do a pull request.</p>
+</div>
+<div class="paragraph">
+<p>The website generator layout is the following one:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>content is available in asciidoctor format in <code>documentation/src/content</code>. It is really the published pages, they are just converted in html.</p>
+</li>
+<li>
+<p><code>documentation/src/static</code> contains the site assets/resources/.</p>
+</li>
+<li>
+<p><code>documentation/src/template</code> contains the site layout. It is just the <code>header</code> and <code>footer</code> which are concatenated to all content pages.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The generator itself can be found in <code>documentation/src/main/java</code> and in particular the command <code>org.apache.geronimo.arthur.documentation.command.Generate#generate</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</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>/home/buildslave/slave/geronimo-arthur-site/build/documentation/target/generated_documentation</code>.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>To run the website generation, you can go in <code>documentation/</code> folder and execute <code>mvn prepare-package</code>.</p>
+</div>
+<div class="paragraph">
+<p>To visualize it you can run <code>mvn meecrowave:bake</code> and go on <code><a href="http://localhost:8080" class="bare">http://localhost:8080</a></code>.</p>
+</div>
+<div class="paragraph">
+<p>Finally to publish the website, just run <code>mvn scm-publish:publish-scm</code> - it requires apache credentials to be set up for SVN.</p>
+</div>
+</div>
 </div></div>
 
 <div id="footer">

Modified: websites/production/geronimo/content/arthur/jsch-knight.html
==============================================================================
--- websites/production/geronimo/content/arthur/jsch-knight.html (original)
+++ websites/production/geronimo/content/arthur/jsch-knight.html Mon Nov 11 20:11:22 2019
@@ -138,8 +138,6 @@ to ensure it is usable you must package
       &lt;includeNative&gt;sunec&lt;/includeNative&gt;
     &lt;/includeNatives&gt;
     &lt;includeCacerts&gt;true&lt;/includeCacerts&gt; <i class="conum" data-value="3"></i><b>(3)</b>
-    &lt;!-- avoid to conflict with host cache since we mount the local m2 to speed up the execution --&gt;
-    &lt;graalCacheGav&gt;org.apache.geronimo.arthur.cache:graal-integrationtests&lt;/graalCacheGav&gt;
   &lt;/configuration&gt;
 &lt;/plugin&gt;</code></pre>
 </div>

Modified: websites/production/geronimo/content/arthur/maven.html
==============================================================================
--- websites/production/geronimo/content/arthur/maven.html (original)
+++ websites/production/geronimo/content/arthur/maven.html Mon Nov 11 20:11:22 2019
@@ -264,6 +264,45 @@ Here is the full list of available confi
 </div></div></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">attach</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 binary artifact be attached.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: true</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.attach</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">attachClassifier</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>If <code>attach</code> is true, the classifier to use the binary file, <code>none</code> will skip the classifier.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: arthur</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.attachClassifier</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">attachType</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>If <code>attach</code> is true, the type to use to attach the binary file.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: bin</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: arthur.attachType</p>
+</div></div></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">buildStaticImage</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">
@@ -381,6 +420,19 @@ Here is the full list of available confi
 </div></div></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensionProperties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Map</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>Properties passed to the extensions if needed.</p>
+</div>
+<div class="paragraph">
+<p><strong>Default value</strong>: -</p>
+</div>
+<div class="paragraph">
+<p><strong>User property</strong>: -</p>
+</div></div></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">fallbackMode</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">FallbackMode</p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
@@ -410,7 +462,7 @@ Here is the full list of available confi
 <td class="tableblock halign-left valign-top"><p class="tableblock">graalExtensions</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><code>&lt;groupId&gt;:&lt;artifactId&gt;[:&lt;extension&gt;[:&lt;classifier&gt;]]:&lt;version&gt;</code> list of artifacts appended to graal build.</p>
+<p><code>&lt;groupId&gt;:&lt;artifactId&gt;[:&lt;extension&gt;[:&lt;classifier&gt;]]:&lt;version&gt;</code> list of artifacts appended to graal build.If you don&#8217;t want transitive dependencies to be included, you can append to the coordinates <code>?transitive=false</code>.</p>
 </div>
 <div class="paragraph">
 <p><strong>Default value</strong>: -</p>
@@ -754,7 +806,7 @@ Here is the full list of available confi
 <p><strong>Default value</strong>: false</p>
 </div>
 <div class="paragraph">
-<p><strong>User property</strong>: project.usePackagedArtifact</p>
+<p><strong>User property</strong>: arthur.usePackagedArtifact</p>
 </div></div></td>
 </tr>
 <tr>
@@ -785,6 +837,18 @@ Here is the full list of available confi
 </tr>
 </tbody>
 </table>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+if you want to debug native image generation, you must add <code>com.oracle.substratevm:svm</code> dependency and add the <code>customOption</code> <code>--debug-attach</code>.
+</td>
+</tr>
+</table>
+</div>
 </div>
 </div>
 <div class="sect1">

Added: websites/production/geronimo/content/arthur/winegrower-knight.html
==============================================================================
--- websites/production/geronimo/content/arthur/winegrower-knight.html (added)
+++ websites/production/geronimo/content/arthur/winegrower-knight.html Mon Nov 11 20:11:22 2019
@@ -0,0 +1,333 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8"/>
+    <title>Arthur Winegrower 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 Winegrower Knights</h1>
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Arthur Winegrower knight is responsible to support Winegrower.
+It preconfigures the reflection and resource inclusion.</p>
+</div>
+<div class="paragraph">
+<p>It generally assumes you have <code>winegrower-core</code> in your project dependencies.
+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.osgi&lt;/groupId&gt;
+    &lt;artifactId&gt;osgi.core&lt;/artifactId&gt;
+    &lt;version&gt;${osgi.version}&lt;/version&gt;
+  &lt;/dependency&gt;
+  &lt;dependency&gt;
+    &lt;groupId&gt;org.osgi&lt;/groupId&gt;
+    &lt;artifactId&gt;osgi.cmpn&lt;/artifactId&gt;
+    &lt;version&gt;${osgi.version}&lt;/version&gt;
+  &lt;/dependency&gt;
+  &lt;dependency&gt;
+    &lt;groupId&gt;org.apache.felix&lt;/groupId&gt;
+    &lt;artifactId&gt;org.apache.felix.scr&lt;/artifactId&gt;
+    &lt;version&gt;${felix-scr.version}&lt;/version&gt;
+  &lt;/dependency&gt;
+  &lt;dependency&gt;
+    &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
+    &lt;artifactId&gt;slf4j-simple&lt;/artifactId&gt;
+    &lt;version&gt;${slf4j.version}&lt;/version&gt;
+  &lt;/dependency&gt;
+  &lt;dependency&gt;
+    &lt;groupId&gt;org.apache.winegrower&lt;/groupId&gt;
+    &lt;artifactId&gt;winegrower-core&lt;/artifactId&gt;
+    &lt;version&gt;${winegrower.version}&lt;/version&gt;
+  &lt;/dependency&gt;
+&lt;/dependencies&gt;</code></pre>
+</div>
+</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;winegrower-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 winegrower 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>Ensure OSGi metadata (SCR, blueprint etc) descriptors are generated,</p>
+</li>
+<li>
+<p>Ensure Winegrower runs in metadata mode, i.e. it does not require to inspect files anymore to find <code>MANIFEST.MF</code> files and <code>OSGI-INF</code> descriptors,</p>
+</li>
+<li>
+<p>Ensure the SCR, blueprint, &#8230;&#8203; reflection model is registered.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The <code>winegrower-knight</code> handles all but the first point which is still done through <code>bnd-tool</code> or <code>maven-bundle-plugin</code>.
+Here is a definition to generate the <code>META-INF/MANIFEST.MF</code> correctly:</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.felix&lt;/groupId&gt;
+  &lt;artifactId&gt;maven-bundle-plugin&lt;/artifactId&gt;
+  &lt;version&gt;${maven-bundle.version}&lt;/version&gt;
+  &lt;extensions&gt;true&lt;/extensions&gt;
+  &lt;executions&gt;
+    &lt;execution&gt;
+      &lt;id&gt;manifest&lt;/id&gt;
+      &lt;phase&gt;process-classes&lt;/phase&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;bundle&lt;/goal&gt;
+      &lt;/goals&gt;
+      &lt;configuration&gt;
+        &lt;exportScr&gt;true&lt;/exportScr&gt;
+      &lt;/configuration&gt;
+    &lt;/execution&gt;
+  &lt;/executions&gt;
+&lt;/plugin&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Then, to generate <code>winegrower</code> metadata you can either use the related plugin or let the extension do (default).
+If you decide to use the plugin you must define it like that:</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.winegrower&lt;/groupId&gt;
+  &lt;artifactId&gt;winegrower-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;${winegrower.version}&lt;/version&gt;
+  &lt;executions&gt;
+    &lt;execution&gt;
+      &lt;id&gt;metadata&lt;/id&gt;
+      &lt;phase&gt;process-classes&lt;/phase&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;metadata&lt;/goal&gt;
+      &lt;/goals&gt;
+      &lt;configuration&gt;
+        &lt;autoFiltering&gt;true&lt;/autoFiltering&gt; &lt;!-- enables to reduce the number of generated metadata, it is generally enough --&gt;
+        &lt;excludeArtifacts&gt; &lt;!-- xbean will be in the classpath but not needed by most applications --&gt;
+          &lt;excludeArtifact&gt;xbean-finder-shaded&lt;/excludeArtifact&gt;
+        &lt;/excludeArtifacts&gt;
+      &lt;/configuration&gt;
+    &lt;/execution&gt;
+  &lt;/executions&gt;
+&lt;/plugin&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>And to deactivate the extension metadata generation you must add an extension property:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
+  &lt;groupId&gt;${project.groupId}&lt;/groupId&gt;
+  &lt;artifactId&gt;arthur-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;${project.version}&lt;/version&gt;
+  &lt;configuration&gt;
+    &lt;!-- .... --&gt;
+    &lt;extensionProperties&gt;
+      &lt;extension.winegrower.metadata.generate&gt;false&lt;/extension.winegrower.metadata.generate&gt;
+    &lt;/extensionProperties&gt;
+  &lt;/configuration&gt;
+&lt;/plugin&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Finally, whatever way you picked to generate metadata, you must register the winegrower 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;1.0.0-SNAPSHOT&lt;/version&gt;
+  &lt;configuration&gt;
+    &lt;main&gt;org.company.osgi.ScrMain&lt;/main&gt;
+    &lt;graalExtensions&gt;
+      &lt;graalExtension&gt;winegrower&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.winegrower.[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. It acts on the filename and matches prefixes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.winegrower.metadata.generate</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 the winegrower metadata be automatically generated, default to true.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.winegrower.metadata.autoFiltering</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 winegrower metadata generation use autofiltering to reduce the number of metadata, default to true.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>extension.winegrower.metadata.defaultJarName</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">What name to use for the exploded classpath folder of the module (<code>target/classes</code>), default to module folder name.</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