You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-commits@maven.apache.org by sv...@apache.org on 2019/06/09 13:59:37 UTC

svn commit: r1860906 [15/22] - in /maven/website/content: ./ apache-resource-bundles/ archives/maven-2.x/ background/ developers/ developers/conventions/ developers/release/ developers/website/ docs/ docs/2.0.1/ docs/2.0.10/ docs/2.0.11/ docs/2.0.2/ do...

Modified: maven/website/content/guides/plugin/guide-java-plugin-development.html
==============================================================================
--- maven/website/content/guides/plugin/guide-java-plugin-development.html (original)
+++ maven/website/content/guides/plugin/guide-java-plugin-development.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from content/apt/guides/plugin/guide-java-plugin-development.apt at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from content/apt/guides/plugin/guide-java-plugin-development.apt at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -134,21 +134,17 @@ Olivier Lamy" />
           </div>
         </div>
         <div id="bodyColumn"  class="span10" >
-<div class="section">
+<section>
 <h2><a name="Introduction"></a>Introduction</h2>
-<p>This guide is intended to assist users in developing Java plugins for Maven.</p>
-<div class="section">
+<p>This guide is intended to assist users in developing Java plugins for Maven.</p><section>
 <h3><a name="Important_Notice:_Plugin_Naming_Convention_and_Apache_Maven_Trademark"></a>Important Notice: <a name="Plugin_Naming_Convention_and_Apache_Maven_Trademark">Plugin Naming Convention and Apache Maven Trademark</a></h3>
-<p>You will typically name your plugin <tt>&lt;yourplugin&gt;-maven-plugin</tt>.</p>
-<p>Calling it <tt>maven-&lt;yourplugin&gt;-plugin</tt> (note &quot;Maven&quot; is at the beginning of the plugin name) is <b>strongly discouraged</b> since it's a <b>reserved naming pattern for official Apache Maven plugins maintained by the Apache Maven team</b> with groupId <tt>org.apache.maven.plugins</tt>. Using this naming pattern is an infringement of the Apache Maven Trademark.</p></div>
-<div class="section">
+<p>You will typically name your plugin <code>&lt;yourplugin&gt;-maven-plugin</code>.</p>
+<p>Calling it <code>maven-&lt;yourplugin&gt;-plugin</code> (note &quot;Maven&quot; is at the beginning of the plugin name) is <b>strongly discouraged</b> since it's a <b>reserved naming pattern for official Apache Maven plugins maintained by the Apache Maven team</b> with groupId <code>org.apache.maven.plugins</code>. Using this naming pattern is an infringement of the Apache Maven Trademark.</p></section><section>
 <h3><a name="Your_First_Plugin"></a>Your First Plugin</h3>
-<p>In this section we will build a simple plugin with one goal which takes no parameters and simply displays a message on the screen when run. Along the way, we will cover the basics of setting up a project to create a plugin, the minimal contents of a Java mojo which will define goal code, and a couple ways to execute the mojo.</p>
-<div class="section">
+<p>In this section we will build a simple plugin with one goal which takes no parameters and simply displays a message on the screen when run. Along the way, we will cover the basics of setting up a project to create a plugin, the minimal contents of a Java mojo which will define goal code, and a couple ways to execute the mojo.</p><section>
 <h4><a name="Your_First_Mojo"></a>Your First Mojo</h4>
 <p>At its simplest, a Java mojo consists simply of a single class representing one plugin's goal. There is no requirement for multiple classes like EJBs, although a plugin which contains a number of similar mojos is likely to use an abstract superclass for the mojos to consolidate code common to all mojos.</p>
-<p>When processing the source tree to find mojos, <a href="/plugin-tools/"> <tt>plugin-tools</tt></a> looks for classes with either <tt>@Mojo</tt> Java 5 annotation or &quot;<tt>goal</tt>&quot; javadoc annotation. Any class with this annotation are included in the plugin configuration file.</p>
-<div class="section">
+<p>When processing the source tree to find mojos, <a href="/plugin-tools/"> <code>plugin-tools</code></a> looks for classes with either <code>@Mojo</code> Java 5 annotation or &quot;<code>goal</code>&quot; javadoc annotation. Any class with this annotation are included in the plugin configuration file.</p><section>
 <h5><a name="A_Simple_Mojo"></a>A Simple Mojo</h5>
 <p>Listed below is a simple mojo class which has no parameters. This is about as simple as a mojo can be. After the listing is a description of the various parts of the source.</p>
 <div class="source"><pre class="prettyprint linenums">package sample.plugin;
@@ -170,33 +166,32 @@ public class GreetingMojo extends Abstra
     }
 }</pre></div>
 <ul>
-<li>The class <tt>org.apache.maven.plugin.AbstractMojo</tt> provides most of the infrastructure required to implement a mojo except for the <tt>execute</tt> method.</li>
-<li>The annotation &quot;<tt>@Mojo</tt>&quot; is required and control how and when the mojo is executed.</li>
-<li>The <tt>execute</tt> method can throw two exceptions:
+<li>The class <code>org.apache.maven.plugin.AbstractMojo</code> provides most of the infrastructure required to implement a mojo except for the <code>execute</code> method.</li>
+<li>The annotation &quot;<code>@Mojo</code>&quot; is required and control how and when the mojo is executed.</li>
+<li>The <code>execute</code> method can throw two exceptions:
 <ul>
-<li><tt>org.apache.maven.plugin.MojoExecutionException</tt> if an unexpected problem occurs. Throwing this exception causes a &quot;BUILD ERROR&quot; message to be displayed.</li>
-<li><tt>org.apache.maven.plugin.MojoFailureException</tt> if an expected problem (such as a compilation failure) occurs. Throwing this exception causes a &quot;BUILD FAILURE&quot; message to be displayed.</li></ul></li>
-<li>The <tt>getLog</tt> method (defined in <tt>AbstractMojo</tt>) returns a log4j-like logger object which allows plugins to create messages at levels of &quot;debug&quot;, &quot;info&quot;, &quot;warn&quot;, and &quot;error&quot;. This logger is the accepted means to display information to the user. Please have a look at the section <a href="../../plugin-developers/common-bugs.html#Retrieving_the_Mojo_Logger">Retrieving the Mojo Logger</a> for a hint on its proper usage.</li></ul>
-<p>All Mojo annotations are described by the <a href="../../developers/mojo-api-specification.html#The_Descriptor_and_Annotations">Mojo API Specification</a>.</p></div></div>
-<div class="section">
+<li><code>org.apache.maven.plugin.MojoExecutionException</code> if an unexpected problem occurs. Throwing this exception causes a &quot;BUILD ERROR&quot; message to be displayed.</li>
+<li><code>org.apache.maven.plugin.MojoFailureException</code> if an expected problem (such as a compilation failure) occurs. Throwing this exception causes a &quot;BUILD FAILURE&quot; message to be displayed.</li></ul></li>
+<li>The <code>getLog</code> method (defined in <code>AbstractMojo</code>) returns a log4j-like logger object which allows plugins to create messages at levels of &quot;debug&quot;, &quot;info&quot;, &quot;warn&quot;, and &quot;error&quot;. This logger is the accepted means to display information to the user. Please have a look at the section <a href="../../plugin-developers/common-bugs.html#Retrieving_the_Mojo_Logger">Retrieving the Mojo Logger</a> for a hint on its proper usage.</li></ul>
+<p>All Mojo annotations are described by the <a href="../../developers/mojo-api-specification.html#The_Descriptor_and_Annotations">Mojo API Specification</a>.</p></section></section><section>
 <h4><a name="Project_Definition"></a>Project Definition</h4>
 <p>Once the mojos have been written for the plugin, it is time to build the plugin. To do this properly, the project's descriptor needs to have a number of settings set properly:</p>
 <table border="1" class="table table-striped">
 <tr class="a">
-<td align="left"><tt>groupId</tt></td>
+<td align="left"><code>groupId</code></td>
 <td align="left">This is the group ID for the plugin, and should match the common prefix to the packages used by the mojos</td></tr>
 <tr class="b">
-<td align="left"><tt>artifactId</tt></td>
+<td align="left"><code>artifactId</code></td>
 <td align="left">This is the name of the plugin</td></tr>
 <tr class="a">
-<td align="left"><tt>version</tt></td>
+<td align="left"><code>version</code></td>
 <td align="left">This is the version of the plugin</td></tr>
 <tr class="b">
-<td align="left"><tt>packaging</tt></td>
-<td align="left">This should be set to &quot;<tt>maven-plugin</tt>&quot;</td></tr>
+<td align="left"><code>packaging</code></td>
+<td align="left">This should be set to &quot;<code>maven-plugin</code>&quot;</td></tr>
 <tr class="a">
-<td align="left"><tt>dependencies</tt></td>
-<td align="left">A dependency must be declared to the Maven Plugin Tools API to resolve &quot;<tt>AbstractMojo</tt>&quot; and related classes</td></tr></table>
+<td align="left"><code>dependencies</code></td>
+<td align="left">A dependency must be declared to the Maven Plugin Tools API to resolve &quot;<code>AbstractMojo</code>&quot; and related classes</td></tr></table>
 <p>Listed below is an illustration of the sample mojo project's pom with the parameters set as described in the above table:</p>
 <div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
@@ -223,33 +218,31 @@ public class GreetingMojo extends Abstra
       &lt;scope&gt;provided&lt;/scope&gt;
     &lt;/dependency&gt;
   &lt;/dependencies&gt;
-&lt;/project&gt;</pre></div></div>
-<div class="section">
+&lt;/project&gt;</pre></div></section><section>
 <h4><a name="Building_a_Plugin"></a>Building a Plugin</h4>
-<p>There are few plugins goals bound to the standard build lifecycle defined with the <tt>maven-plugin</tt> packaging:</p>
+<p>There are few plugins goals bound to the standard build lifecycle defined with the <code>maven-plugin</code> packaging:</p>
 <table border="1" class="table table-striped">
 <tr class="a">
-<td align="left"><tt>compile</tt></td>
+<td align="left"><code>compile</code></td>
 <td align="left">Compiles the Java code for the plugin</td></tr>
 <tr class="b">
-<td align="left"><tt>process-classes</tt></td>
+<td align="left"><code>process-classes</code></td>
 <td align="left">Extracts data to build the <a href="/ref/current/maven-plugin-api/plugin.html">plugin descriptor</a></td></tr>
 <tr class="a">
-<td align="left"><tt>test</tt></td>
+<td align="left"><code>test</code></td>
 <td align="left">Runs the plugin's unit tests</td></tr>
 <tr class="b">
-<td align="left"><tt>package</tt></td>
+<td align="left"><code>package</code></td>
 <td align="left">Builds the plugin jar</td></tr>
 <tr class="a">
-<td align="left"><tt>install</tt></td>
+<td align="left"><code>install</code></td>
 <td align="left">Installs the plugin jar in the local repository</td></tr>
 <tr class="b">
-<td align="left"><tt>deploy</tt></td>
+<td align="left"><code>deploy</code></td>
 <td align="left">Deploys the plugin jar to the remote repository</td></tr></table>
-<p>For more details, you can look at <a href="/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_maven-plugin_packaging"> detailed bindings for <tt>maven-plugin</tt> packaging</a>.</p></div>
-<div class="section">
+<p>For more details, you can look at <a href="/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_maven-plugin_packaging"> detailed bindings for <code>maven-plugin</code> packaging</a>.</p></section><section>
 <h4><a name="Executing_Your_First_Mojo"></a>Executing Your First Mojo</h4>
-<p>The most direct means of executing your new plugin is to specify the plugin goal directly on the command line. To do this, you need to configure the <tt>hello-maven-plugin</tt> plugin in you project:</p>
+<p>The most direct means of executing your new plugin is to specify the plugin goal directly on the command line. To do this, you need to configure the <code>hello-maven-plugin</code> plugin in you project:</p>
 <div class="source"><pre class="prettyprint linenums">...
   &lt;build&gt;
     &lt;plugins&gt;
@@ -263,20 +256,18 @@ public class GreetingMojo extends Abstra
 ...</pre></div>
 <p>And, you need to specify a fully-qualified goal in the form of:</p>
 <div class="source"><pre class="prettyprint linenums">mvn groupId:artifactId:version:goal</pre></div>
-<p>For example, to run the simple mojo in the sample plugin, you would enter &quot;<tt>mvn sample.plugin:hello-maven-plugin:1.0-SNAPSHOT:sayhi</tt>&quot; on the command line.</p>
-<p><b>Tips</b>: <tt>version</tt> is not required to run a standalone goal.</p>
-<div class="section">
+<p>For example, to run the simple mojo in the sample plugin, you would enter &quot;<code>mvn sample.plugin:hello-maven-plugin:1.0-SNAPSHOT:sayhi</code>&quot; on the command line.</p>
+<p><b>Tips</b>: <code>version</code> is not required to run a standalone goal.</p><section>
 <h5><a name="Shortening_the_Command_Line"></a>Shortening the Command Line</h5>
 <p>There are several ways to reduce the amount of required typing:</p>
 <ul>
-<li>If you need to run the latest version of a plugin installed in your local repository, you can omit its version number. So just use &quot;<tt>mvn sample.plugin:hello-maven-plugin:sayhi</tt>&quot; to run your plugin.</li>
-<li>You can assign a shortened prefix to your plugin, such as <tt>mvn hello:sayhi</tt>. This is done automatically if you follow the convention of using <tt>${prefix}-maven-plugin</tt> (or <tt>maven-${prefix}-plugin</tt> if the plugin is part of the Apache Maven project). You may also assign one through additional configuration - for more information see <a href="../introduction/introduction-to-plugin-prefix-mapping.html"> Introduction to Plugin Prefix Mapping</a>.</li>
-<li>Finally, you can also add your plugin's groupId to the list of groupIds searched by default. To do this, you need to add the following to your <tt>${user.home}/.m2/settings.xml</tt> file:
+<li>If you need to run the latest version of a plugin installed in your local repository, you can omit its version number. So just use &quot;<code>mvn sample.plugin:hello-maven-plugin:sayhi</code>&quot; to run your plugin.</li>
+<li>You can assign a shortened prefix to your plugin, such as <code>mvn hello:sayhi</code>. This is done automatically if you follow the convention of using <code>${prefix}-maven-plugin</code> (or <code>maven-${prefix}-plugin</code> if the plugin is part of the Apache Maven project). You may also assign one through additional configuration - for more information see <a href="../introduction/introduction-to-plugin-prefix-mapping.html"> Introduction to Plugin Prefix Mapping</a>.</li>
+<li>Finally, you can also add your plugin's groupId to the list of groupIds searched by default. To do this, you need to add the following to your <code>${user.home}/.m2/settings.xml</code> file:
 <div class="source"><pre class="prettyprint linenums">&lt;pluginGroups&gt;
   &lt;pluginGroup&gt;sample.plugin&lt;/pluginGroup&gt;
 &lt;/pluginGroups&gt;</pre></div></li></ul>
-<p>At this point, you can run the mojo with &quot;<tt>mvn hello:sayhi</tt>&quot;.</p></div>
-<div class="section">
+<p>At this point, you can run the mojo with &quot;<code>mvn hello:sayhi</code>&quot;.</p></section><section>
 <h5><a name="Attaching_the_Mojo_to_the_Build_Lifecycle"></a>Attaching the Mojo to the Build Lifecycle</h5>
 <p>You can also configure your plugin to attach specific goals to a particular phase of the build lifecycle. Here is an example:</p>
 <div class="source"><pre class="prettyprint linenums">  &lt;build&gt;
@@ -296,22 +287,19 @@ public class GreetingMojo extends Abstra
       &lt;/plugin&gt;
     &lt;/plugins&gt;
   &lt;/build&gt;</pre></div>
-<p>This causes the simple mojo to be executed whenever Java code is compiled. For more information on binding a mojo to phases in the lifecycle, please refer to the <a href="../introduction/introduction-to-the-lifecycle.html">Build Lifecycle</a> document.</p></div></div></div>
-<div class="section">
+<p>This causes the simple mojo to be executed whenever Java code is compiled. For more information on binding a mojo to phases in the lifecycle, please refer to the <a href="../introduction/introduction-to-the-lifecycle.html">Build Lifecycle</a> document.</p></section></section></section><section>
 <h3><a name="Mojo_archetype"></a>Mojo archetype</h3>
 <p>To create a new plugin project, you could using the Mojo <a href="../introduction/introduction-to-archetypes.html">archetype</a> with the following command line:</p>
 <div class="source"><pre class="prettyprint linenums">mvn archetype:generate \
   -DgroupId=sample.plugin \
   -DartifactId=hello-maven-plugin \
   -DarchetypeGroupId=org.apache.maven.archetypes \
-  -DarchetypeArtifactId=maven-archetype-plugin</pre></div></div>
-<div class="section">
+  -DarchetypeArtifactId=maven-archetype-plugin</pre></div></section><section>
 <h3><a name="Parameters">Parameters</a></h3>
 <p>It is unlikely that a mojo will be very useful without parameters. Parameters provide a few very important functions:</p>
 <ul>
 <li>It provides hooks to allow the user to adjust the operation of the plugin to suit their needs.</li>
-<li>It provides a means to easily extract the value of elements from the POM without the need to navigate the objects.</li></ul>
-<div class="section">
+<li>It provides a means to easily extract the value of elements from the POM without the need to navigate the objects.</li></ul><section>
 <h4><a name="Defining_Parameters_Within_a_Mojo"></a>Defining Parameters Within a Mojo</h4>
 <p>Defining a parameter is as simple as creating an instance variable in the mojo and adding the proper annotations. Listed below is an example of a parameter for the simple mojo:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
@@ -319,10 +307,9 @@ public class GreetingMojo extends Abstra
      */
     @Parameter( property = &quot;sayhi.greeting&quot;, defaultValue = &quot;Hello World!&quot; )
     private String greeting;</pre></div>
-<p>The portion before the annotations is the description of the parameter. The <tt>parameter</tt> annotation identifies the variable as a mojo parameter. The <tt>defaultValue</tt> parameter of the annotation defines the default value for the variable. This value can include expressions which reference the project, such as &quot;<tt>${project.version}</tt>&quot; (more can be found in the <a href="/ref/current/maven-core/apidocs/org/apache/maven/plugin/PluginParameterExpressionEvaluator.html">&quot;Parameter Expressions&quot; document</a>). The <tt>property</tt> parameter can be used to allow configuration of the mojo parameter from the command line by referencing a system property that the user sets via the <tt>-D</tt> option.</p></div>
-<div class="section">
+<p>The portion before the annotations is the description of the parameter. The <code>parameter</code> annotation identifies the variable as a mojo parameter. The <code>defaultValue</code> parameter of the annotation defines the default value for the variable. This value can include expressions which reference the project, such as &quot;<code>${project.version}</code>&quot; (more can be found in the <a href="/ref/current/maven-core/apidocs/org/apache/maven/plugin/PluginParameterExpressionEvaluator.html">&quot;Parameter Expressions&quot; document</a>). The <code>property</code> parameter can be used to allow configuration of the mojo parameter from the command line by referencing a system property that the user sets via the <code>-D</code> option.</p></section><section>
 <h4><a name="Configuring_Parameters_in_a_Project"></a>Configuring Parameters in a Project</h4>
-<p>Configuring the parameter values for a plugin is done in a Maven project within the <tt>pom.xml</tt> file as part of defining the plugin in the project. An example of configuring a plugin:</p>
+<p>Configuring the parameter values for a plugin is done in a Maven project within the <code>pom.xml</code> file as part of defining the plugin in the project. An example of configuring a plugin:</p>
 <div class="source"><pre class="prettyprint linenums">&lt;plugin&gt;
   &lt;groupId&gt;sample.plugin&lt;/groupId&gt;
   &lt;artifactId&gt;hello-maven-plugin&lt;/artifactId&gt;
@@ -331,69 +318,60 @@ public class GreetingMojo extends Abstra
     &lt;greeting&gt;Welcome&lt;/greeting&gt;
   &lt;/configuration&gt;
 &lt;/plugin&gt;</pre></div>
-<p>In the configuration section, the element name (&quot;<tt>greeting</tt>&quot;) is the parameter name and the contents of the element (&quot;<tt>Welcome</tt>&quot;) is the value to be assigned to the parameter.</p>
-<p><b>Note</b>: More details can be found in the <a href="../mini/guide-configuring-plugins.html">Guide to Configuring Plugins</a>.</p></div>
-<div class="section">
+<p>In the configuration section, the element name (&quot;<code>greeting</code>&quot;) is the parameter name and the contents of the element (&quot;<code>Welcome</code>&quot;) is the value to be assigned to the parameter.</p>
+<p><b>Note</b>: More details can be found in the <a href="../mini/guide-configuring-plugins.html">Guide to Configuring Plugins</a>.</p></section><section>
 <h4><a name="Parameter_Types_With_One_Value"></a>Parameter Types With One Value</h4>
-<p>Listed below are the various types of simple variables which can be used as parameters in your mojos, along with any rules on how the values in the POM are interpreted.</p>
-<div class="section">
+<p>Listed below are the various types of simple variables which can be used as parameters in your mojos, along with any rules on how the values in the POM are interpreted.</p><section>
 <h5><a name="Boolean"></a>Boolean</h5>
-<p>This includes variables typed <tt>boolean</tt> and <tt>Boolean</tt>. When reading the configuration, the text &quot;<tt>true</tt>&quot; causes the parameter to be set to true and all other text causes the parameter to be set to false. Example:</p>
+<p>This includes variables typed <code>boolean</code> and <code>Boolean</code>. When reading the configuration, the text &quot;<code>true</code>&quot; causes the parameter to be set to true and all other text causes the parameter to be set to false. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My boolean.
      */
     @Parameter
     private boolean myBoolean;</pre></div>
-<div class="source"><pre class="prettyprint linenums">&lt;myBoolean&gt;true&lt;/myBoolean&gt;</pre></div></div>
-<div class="section">
+<div class="source"><pre class="prettyprint linenums">&lt;myBoolean&gt;true&lt;/myBoolean&gt;</pre></div></section><section>
 <h5><a name="Integer_Numbers"></a>Integer Numbers</h5>
-<p>This includes variables typed <tt>byte</tt>, <tt>Byte</tt>, <tt>int</tt>, <tt>Integer</tt>, <tt>long</tt>, <tt>Long</tt>, <tt>short</tt>, and <tt>Short</tt>. When reading the configuration, the text in the XML file is converted to an integer value using either <tt>Integer.parseInt()</tt> or the <tt>valueOf()</tt> method of the appropriate class. This means that the strings must be valid decimal integer values, consisting only of the digits 0 to 9 with an optional <tt>-</tt> in front for a negative value. Example:</p>
+<p>This includes variables typed <code>byte</code>, <code>Byte</code>, <code>int</code>, <code>Integer</code>, <code>long</code>, <code>Long</code>, <code>short</code>, and <code>Short</code>. When reading the configuration, the text in the XML file is converted to an integer value using either <code>Integer.parseInt()</code> or the <code>valueOf()</code> method of the appropriate class. This means that the strings must be valid decimal integer values, consisting only of the digits 0 to 9 with an optional <code>-</code> in front for a negative value. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My Integer.
      */
     @Parameter
     private Integer myInteger;</pre></div>
-<div class="source"><pre class="prettyprint linenums">&lt;myInteger&gt;10&lt;/myInteger&gt;</pre></div></div>
-<div class="section">
+<div class="source"><pre class="prettyprint linenums">&lt;myInteger&gt;10&lt;/myInteger&gt;</pre></div></section><section>
 <h5><a name="Floating-Point_Numbers"></a>Floating-Point Numbers</h5>
-<p>This includes variables typed <tt>double</tt>, <tt>Double</tt>, <tt>float</tt>, and <tt>Float</tt>. When reading the configuration, the text in the XML file is converted to binary form using the <tt>valueOf()</tt> method for the appropriate class. This means that the strings can take on any format specified in section 3.10.2 of the Java Language Specification. Some samples of valid values are <tt>1.0</tt> and <tt>6.02E+23</tt>.</p>
+<p>This includes variables typed <code>double</code>, <code>Double</code>, <code>float</code>, and <code>Float</code>. When reading the configuration, the text in the XML file is converted to binary form using the <code>valueOf()</code> method for the appropriate class. This means that the strings can take on any format specified in section 3.10.2 of the Java Language Specification. Some samples of valid values are <code>1.0</code> and <code>6.02E+23</code>.</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My Double.
      */
     @Parameter
     private Double myDouble;</pre></div>
-<div class="source"><pre class="prettyprint linenums">&lt;myDouble&gt;1.0&lt;/myDouble&gt;</pre></div></div>
-<div class="section">
+<div class="source"><pre class="prettyprint linenums">&lt;myDouble&gt;1.0&lt;/myDouble&gt;</pre></div></section><section>
 <h5><a name="Dates"></a>Dates</h5>
-<p>This includes variables typed <tt>Date</tt>. When reading the configuration, the text in the XML file is converted using one of the following date formats: &quot;<tt>yyyy-MM-dd HH:mm:ss.S a</tt>&quot; (a sample date is &quot;2005-10-06 2:22:55.1 PM&quot;) or &quot;<tt>yyyy-MM-dd HH:mm:ssa</tt>&quot; (a sample date is &quot;2005-10-06 2:22:55PM&quot;). Note that parsing is done using <tt>DateFormat.parse()</tt> which allows some leniency in formatting. If the method can parse a date and time out of what is specified it will do so even if it doesn't exactly match the patterns above. Example:</p>
+<p>This includes variables typed <code>Date</code>. When reading the configuration, the text in the XML file is converted using one of the following date formats: &quot;<code>yyyy-MM-dd HH:mm:ss.S a</code>&quot; (a sample date is &quot;2005-10-06 2:22:55.1 PM&quot;) or &quot;<code>yyyy-MM-dd HH:mm:ssa</code>&quot; (a sample date is &quot;2005-10-06 2:22:55PM&quot;). Note that parsing is done using <code>DateFormat.parse()</code> which allows some leniency in formatting. If the method can parse a date and time out of what is specified it will do so even if it doesn't exactly match the patterns above. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My Date.
      */
     @Parameter
     private Date myDate;</pre></div>
-<div class="source"><pre class="prettyprint linenums">&lt;myDate&gt;2005-10-06 2:22:55.1 PM&lt;/myDate&gt;</pre></div></div>
-<div class="section">
+<div class="source"><pre class="prettyprint linenums">&lt;myDate&gt;2005-10-06 2:22:55.1 PM&lt;/myDate&gt;</pre></div></section><section>
 <h5><a name="Files_and_Directories"></a>Files and Directories</h5>
-<p>This includes variables typed <tt>File</tt>. When reading the configuration, the text in the XML file is used as the path to the desired file or directory. If the path is relative (does not start with <tt>/</tt> or a drive letter like <tt>C:</tt>), the path is relative to the directory containing the POM. Example:</p>
+<p>This includes variables typed <code>File</code>. When reading the configuration, the text in the XML file is used as the path to the desired file or directory. If the path is relative (does not start with <code>/</code> or a drive letter like <code>C:</code>), the path is relative to the directory containing the POM. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My File.
      */
     @Parameter
     private File myFile;</pre></div>
-<div class="source"><pre class="prettyprint linenums">&lt;myFile&gt;c:\temp&lt;/myFile&gt;</pre></div></div>
-<div class="section">
+<div class="source"><pre class="prettyprint linenums">&lt;myFile&gt;c:\temp&lt;/myFile&gt;</pre></div></section><section>
 <h5><a name="URLs"></a>URLs</h5>
-<p>This includes variables typed <tt>URL</tt>. When reading the configuration, the text in the XML file is used as the URL. The format must follow the RFC 2396 guidelines, and looks like any web browser URL (<tt>scheme://host:port/path/to/file</tt>). No restrictions are placed on the content of any of the parts of the URL while converting the URL.</p>
+<p>This includes variables typed <code>URL</code>. When reading the configuration, the text in the XML file is used as the URL. The format must follow the RFC 2396 guidelines, and looks like any web browser URL (<code>scheme://host:port/path/to/file</code>). No restrictions are placed on the content of any of the parts of the URL while converting the URL.</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My URL.
      */
     @Parameter
     private URL myURL;</pre></div>
-<div class="source"><pre class="prettyprint linenums">&lt;myURL&gt;http://maven.apache.org&lt;/myURL&gt;</pre></div></div>
-<div class="section">
+<div class="source"><pre class="prettyprint linenums">&lt;myURL&gt;http://maven.apache.org&lt;/myURL&gt;</pre></div></section><section>
 <h5><a name="Plain_Text"></a>Plain Text</h5>
-<p>This includes variables typed <tt>char</tt>, <tt>Character</tt>, <tt>StringBuffer</tt>, and <tt>String</tt>. When reading the configuration, the text in the XML file is used as the value to be assigned to the parameter. For <tt>char</tt> and <tt>Character</tt> parameters, only the first character of the text is used.</p></div>
-<div class="section">
+<p>This includes variables typed <code>char</code>, <code>Character</code>, <code>StringBuffer</code>, and <code>String</code>. When reading the configuration, the text in the XML file is used as the value to be assigned to the parameter. For <code>char</code> and <code>Character</code> parameters, only the first character of the text is used.</p></section><section>
 <h5><a name="Enums"></a>Enums</h5>
 <p>Enumeration type parameters can also be used. First you need to define your enumeration type and afterwards you can use the enumeration type in the parameter definition:</p>
 <div class="source"><pre class="prettyprint linenums">    public enum Color {
@@ -420,17 +398,15 @@ public class GreetingMojo extends Abstra
      * My Enum
      */
     @Parameter(defaultValue = &quot;GREEN&quot;)
-    private Color myColor;</pre></div></div></div>
-<div class="section">
+    private Color myColor;</pre></div></section></section><section>
 <h4><a name="Parameter_Types_With_Multiple_Values"></a>Parameter Types With Multiple Values</h4>
 <p>Listed below are the various types of composite objects which can be used as parameters in your mojos, along with any rules on how the values in the POM are interpreted. In general, the class of the object created to hold the parameter value (as well as the class for each element within the parameter value) is determined as follows (the first step which yields a valid class is used):</p>
 <ol style="list-style-type: decimal">
-<li>If the XML element contains an <tt>implementation</tt> hint attribute, that is used</li>
-<li>If the XML tag contains a <tt>.</tt>, try that as a fully qualified class name</li>
+<li>If the XML element contains an <code>implementation</code> hint attribute, that is used</li>
+<li>If the XML tag contains a <code>.</code>, try that as a fully qualified class name</li>
 <li>Try the XML tag (with capitalized first letter) as a class in the same package as the mojo/object being configured</li>
-<li>For arrays, use the component type of the array (for example, use <tt>String</tt> for a <tt>String[]</tt> parameter); for collections and maps, use the class specified in the mojo configuration for the collection or map; use <tt>String</tt> for entries in a collection and values in a map</li></ol>
-<p>Once the type for the element is defined, the text in the XML file is converted to the appropriate type of object</p>
-<div class="section">
+<li>For arrays, use the component type of the array (for example, use <code>String</code> for a <code>String[]</code> parameter); for collections and maps, use the class specified in the mojo configuration for the collection or map; use <code>String</code> for entries in a collection and values in a map</li></ol>
+<p>Once the type for the element is defined, the text in the XML file is converted to the appropriate type of object</p><section>
 <h5><a name="Arrays"></a>Arrays</h5>
 <p>Array type parameters are configured by specifying the parameter multiple times. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
@@ -441,10 +417,9 @@ public class GreetingMojo extends Abstra
 <div class="source"><pre class="prettyprint linenums">&lt;myArray&gt;
   &lt;param&gt;value1&lt;/param&gt;
   &lt;param&gt;value2&lt;/param&gt;
-&lt;/myArray&gt;</pre></div></div>
-<div class="section">
+&lt;/myArray&gt;</pre></div></section><section>
 <h5><a name="Collections"></a>Collections</h5>
-<p>This category covers any class which implements <tt>java.util.Collection</tt> such as <tt>ArrayList</tt> or <tt>HashSet</tt>. These parameters are configured by specifying the parameter multiple times just like an array. Example:</p>
+<p>This category covers any class which implements <code>java.util.Collection</code> such as <code>ArrayList</code> or <code>HashSet</code>. These parameters are configured by specifying the parameter multiple times just like an array. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My List.
      */
@@ -454,10 +429,9 @@ public class GreetingMojo extends Abstra
   &lt;param&gt;value1&lt;/param&gt;
   &lt;param&gt;value2&lt;/param&gt;
 &lt;/myList&gt;</pre></div>
-<p>For details on the mapping of the individual collection elements, see <a href="../mini/guide-configuring-plugins.html#Mapping_Lists">Mapping Lists</a>.</p></div>
-<div class="section">
+<p>For details on the mapping of the individual collection elements, see <a href="../mini/guide-configuring-plugins.html#Mapping_Lists">Mapping Lists</a>.</p></section><section>
 <h5><a name="Maps"></a>Maps</h5>
-<p>This category covers any class which implements <tt>java.util.Map</tt> such as <tt>HashMap</tt> but does <b>not</b> implement <tt>java.util.Properties</tt>. These parameters are configured by including XML tags in the form <tt> &lt;key&gt;value&lt;/key&gt; </tt> in the parameter configuration. Example:</p>
+<p>This category covers any class which implements <code>java.util.Map</code> such as <code>HashMap</code> but does <b>not</b> implement <code>java.util.Properties</code>. These parameters are configured by including XML tags in the form <code> &lt;key&gt;value&lt;/key&gt; </code> in the parameter configuration. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My Map.
      */
@@ -466,10 +440,9 @@ public class GreetingMojo extends Abstra
 <div class="source"><pre class="prettyprint linenums">&lt;myMap&gt;
   &lt;key1&gt;value1&lt;/key1&gt;
   &lt;key2&gt;value2&lt;/key2&gt;
-&lt;/myMap&gt;</pre></div></div>
-<div class="section">
+&lt;/myMap&gt;</pre></div></section><section>
 <h5><a name="Properties"></a>Properties</h5>
-<p>This category covers any map which implements <tt>java.util.Properties</tt>. These parameters are configured by including XML tags in the form <tt> &lt;property&gt;&lt;name&gt;myName&lt;/name&gt; &lt;value&gt;myValue&lt;/value&gt; &lt;/property&gt; </tt> in the parameter configuration. Example:</p>
+<p>This category covers any map which implements <code>java.util.Properties</code>. These parameters are configured by including XML tags in the form <code> &lt;property&gt;&lt;name&gt;myName&lt;/name&gt; &lt;value&gt;myValue&lt;/value&gt; &lt;/property&gt; </code> in the parameter configuration. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My Properties.
      */
@@ -484,10 +457,9 @@ public class GreetingMojo extends Abstra
     &lt;name&gt;propertyName2&lt;/name&gt;
     &lt;value&gt;propertyValue2&lt;/value&gt;
   &lt;property&gt;
-&lt;/myProperties&gt;</pre></div></div>
-<div class="section">
+&lt;/myProperties&gt;</pre></div></section><section>
 <h5><a name="Other_Object_Classes"></a>Other Object Classes</h5>
-<p>This category covers any class which does not implement <tt>java.util.Map</tt>, <tt>java.util.Collection</tt>, or <tt>java.util.Dictionary</tt>. Example:</p>
+<p>This category covers any class which does not implement <code>java.util.Map</code>, <code>java.util.Collection</code>, or <code>java.util.Dictionary</code>. Example:</p>
 <div class="source"><pre class="prettyprint linenums">    /**
      * My Object.
      */
@@ -496,8 +468,7 @@ public class GreetingMojo extends Abstra
 <div class="source"><pre class="prettyprint linenums">&lt;myObject&gt;
   &lt;myField&gt;test&lt;/myField&gt;
 &lt;/myObject&gt;</pre></div>
-<p>Please see <a href="../mini/guide-configuring-plugins.html#Mapping_Complex_Objects">Mapping Complex Objects</a> for details on the strategy used to configure those kind of parameters.</p></div></div></div>
-<div class="section">
+<p>Please see <a href="../mini/guide-configuring-plugins.html#Mapping_Complex_Objects">Mapping Complex Objects</a> for details on the strategy used to configure those kind of parameters.</p></section></section></section><section>
 <h3><a name="Using_Setters"></a>Using Setters</h3>
 <p>You are not restricted to using private field mapping which is good if you are trying to make you Mojos resuable outside the context of Maven. Using the example above we could name our private fields using the underscore convention and provide setters that the configuration mapping mechanism can use. So our Mojo would look like the following:</p>
 <div class="source"><pre class="prettyprint linenums">
@@ -535,8 +506,7 @@ public class MyQueryMojo
     }
 }
 </pre></div>
-<p>Note the specification of the property name for each parameter which tells Maven what setter and getter to use when the field's name does not match the intended name of the parameter in the plugin configuration.</p></div>
-<div class="section">
+<p>Note the specification of the property name for each parameter which tells Maven what setter and getter to use when the field's name does not match the intended name of the parameter in the plugin configuration.</p></section><section>
 <h3><a name="Resources"></a>Resources</h3>
 <ol style="list-style-type: decimal">
 <li><a href="../../developers/mojo-api-specification.html">Mojo Documentation</a>: Mojo API, Mojo annotations</li>
@@ -544,7 +514,7 @@ public class MyQueryMojo
 <li><a class="externalLink" href="https://codehaus-plexus.github.io/">Plexus</a>: The IoC container used by Maven.</li>
 <li><a class="externalLink" href="https://codehaus-plexus.github.io/plexus-utils/">Plexus Common Utilities</a>: Set of utilities classes useful for Mojo development.</li>
 <li><a class="externalLink" href="http://commons.apache.org/io/">Commons IO</a>: Set of utilities classes useful for file/path handling.</li>
-<li><a href="../../plugin-developers/common-bugs.html">Common Bugs and Pitfalls</a>: Overview of problematic coding patterns.</li></ol></div></div>
+<li><a href="../../plugin-developers/common-bugs.html">Common Bugs and Pitfalls</a>: Overview of problematic coding patterns.</li></ol></section></section>
         </div>
       </div>
     </div>

Modified: maven/website/content/guides/plugin/guide-java-report-plugin-development.html
==============================================================================
--- maven/website/content/guides/plugin/guide-java-report-plugin-development.html (original)
+++ maven/website/content/guides/plugin/guide-java-report-plugin-development.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from content/apt/guides/plugin/guide-java-report-plugin-development.apt at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from content/apt/guides/plugin/guide-java-report-plugin-development.apt at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -133,16 +133,15 @@ Bertrand Martin" />
           </div>
         </div>
         <div id="bodyColumn"  class="span10" >
-<div class="section">
+<section>
 <h2><a name="Introduction"></a>Introduction</h2>
-<p>This guide is intended to assist users in developing reporting plugins for Maven in Java that will contribute to sites generated by <a href="/plugins/maven-site-plugin/"><tt>maven-site-plugin</tt></a> or site pdf documents generated by <a href="/plugins/maven-pdf-plugin/"><tt>maven-pdf-site</tt></a>.</p>
+<p>This guide is intended to assist users in developing reporting plugins for Maven in Java that will contribute to sites generated by <a href="/plugins/maven-site-plugin/"><code>maven-site-plugin</code></a> or site pdf documents generated by <a href="/plugins/maven-pdf-plugin/"><code>maven-pdf-site</code></a>.</p>
 <p>First and foremost, a <i>report plugin</i> is a <i>Maven plugin</i> and it is strongly advised to first read the <a href="./guide-java-plugin-development.html">Guide to Developing Java Plugins</a> to properly understand its core mechanisms.</p>
-<p>A plugin is actually not a <i>report plugin</i> in itself. But one (or several) of its goals or <i>Mojos</i> may be specialized to be invoked by <a href="/plugins/maven-site-plugin/"><tt>maven-site-plugin</tt></a>, typically during the <tt>site</tt> build life cycle.</p>
-<p>A Maven plugin can therefore implement <i>regular</i> goals and <i>report</i> goals. The below details how to write a <i>Mojo</i> that will get invoked as a <i>report</i> by <a href="/plugins/maven-site-plugin/"><tt>maven-site-plugin</tt></a>.</p>
-<div class="section">
+<p>A plugin is actually not a <i>report plugin</i> in itself. But one (or several) of its goals or <i>Mojos</i> may be specialized to be invoked by <a href="/plugins/maven-site-plugin/"><code>maven-site-plugin</code></a>, typically during the <code>site</code> build life cycle.</p>
+<p>A Maven plugin can therefore implement <i>regular</i> goals and <i>report</i> goals. The below details how to write a <i>Mojo</i> that will get invoked as a <i>report</i> by <a href="/plugins/maven-site-plugin/"><code>maven-site-plugin</code></a>.</p><section>
 <h3><a name="How_It_Works"></a>How It Works</h3>
 <ol style="list-style-type: decimal">
-<li> A regular Maven project usually invokes a <i>reporting goal</i> of a plugin by declaring such plugin in the <a href="/plugins/maven-site-plugin/examples/configuring-reports.html"><tt>&lt;reporting&gt;</tt></a> section of its <tt>pom.xml</tt> as in the example below:
+<li> A regular Maven project usually invokes a <i>reporting goal</i> of a plugin by declaring such plugin in the <a href="/plugins/maven-site-plugin/examples/configuring-reports.html"><code>&lt;reporting&gt;</code></a> section of its <code>pom.xml</code> as in the example below:
 <div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   ...
   &lt;reporting&gt;
@@ -155,38 +154,35 @@ Bertrand Martin" />
     &lt;/plugins&gt;
   &lt;/reporting&gt;
   ...</pre></div></li>
-<li> When <a href="/plugins/maven-site-plugin/"><tt>maven-site-plugin</tt></a> is invoked (for example with the <tt>mvn site</tt> command), the specified plugins are loaded and the <i>generate()</i> method of each class that implements <a href="/shared/maven-reporting-api/apidocs/org/apache/maven/reporting/MavenReport.html"><i>MavenReport</i></a> is executed.</li>
+<li> When <a href="/plugins/maven-site-plugin/"><code>maven-site-plugin</code></a> is invoked (for example with the <code>mvn site</code> command), the specified plugins are loaded and the <i>generate()</i> method of each class that implements <a href="/shared/maven-reporting-api/apidocs/org/apache/maven/reporting/MavenReport.html"><i>MavenReport</i></a> is executed.</li>
 <li> The <i>generate()</i> method generates a document through Maven's <a href="/doxia/doxia/doxia-sink-api/">Doxia Sink API</a>. This document is comprised of basic elements like title, headings, text, links, tables, etc. This is where you will put the logic of your report, assembling elements, based on the content of the Maven project.</li>
-<li> These document elements are passed to Doxia to generate an HTML document, which itself gets wrapped into a <a href="/skins/">Maven Skin</a>, as specified in the projects <a href="/guides/mini/guide-site.html"><tt>./src/site/site.xml</tt></a>.</li>
-<li> The result produces an HTML file in the <tt>./target/site</tt> directory of your project.</li></ol>
-<p><a href="/doxia/doxia-sitetools/doxia-site-renderer/">More details about Doxia Site Renderer</a></p></div>
-<div class="section">
+<li> These document elements are passed to Doxia to generate an HTML document, which itself gets wrapped into a <a href="/skins/">Maven Skin</a>, as specified in the projects <a href="/guides/mini/guide-site.html"><code>./src/site/site.xml</code></a>.</li>
+<li> The result produces an HTML file in the <code>./target/site</code> directory of your project.</li></ol>
+<p><a href="/doxia/doxia-sitetools/doxia-site-renderer/">More details about Doxia Site Renderer</a></p></section><section>
 <h3><a name="Basic_Requirements_of_a_Report_Mojo"></a>Basic Requirements of a Report <i>Mojo</i></h3>
 <p>Each goal or <i>Mojo</i> is implemented with a separate Java class. For a <i>Mojo</i> to become a <i>report Mojo</i>, it needs to implement <a href="/shared/maven-reporting-api/apidocs/org/apache/maven/reporting/MavenReport.html"><i>MavenReport</i></a> (in addition to <a href="/ref/current/apidocs/org/apache/maven/plugin/Mojo.html"><i>org.apache.maven.plugin.Mojo</i></a>). An easy way to implement both interfaces is to extend the <a href="/shared/maven-reporting-impl/apidocs/org/apache/maven/reporting/AbstractMavenReport.html"><i>org.apache.maven.reporting.AbstractMavenReport</i></a> class (instead of <i>org.apache.maven.plugin.AbstractMojo</i> for a regular <i>Mojo</i>).</p>
 <p>The class will also need to implement the following methods:</p>
 <ul>
-<li><tt>public String getOutputName()</tt>: returns the name of page that will be produced</li>
-<li><tt>public String getName(Locale locale)</tt>: returns the display name of the report</li>
-<li><tt>public String getDescription(Locale locale)</tt>: returns the description of the report</li>
-<li><tt>protected void executeReport(Locale locale) throws MavenReportException</tt>: produces the actual report</li></ul>
-<p>To build a Maven plugin that includes <i>report Mojos</i>, the <tt>pom.xml</tt> of your project will need declare the project as a regular plugin, and include specific dependencies required by the report <i>Mojos</i>:</p>
+<li><code>public String getOutputName()</code>: returns the name of page that will be produced</li>
+<li><code>public String getName(Locale locale)</code>: returns the display name of the report</li>
+<li><code>public String getDescription(Locale locale)</code>: returns the description of the report</li>
+<li><code>protected void executeReport(Locale locale) throws MavenReportException</code>: produces the actual report</li></ul>
+<p>To build a Maven plugin that includes <i>report Mojos</i>, the <code>pom.xml</code> of your project will need declare the project as a regular plugin, and include specific dependencies required by the report <i>Mojos</i>:</p>
 <ul>
-<li><a href="/shared/maven-reporting-impl/dependency-info.html"><tt>org.apache.maven.reporting:maven-reporting-impl</tt></a></li>
-<li><a href="/shared/maven-reporting-api/project-summary.html"><tt>org.apache.maven.reporting:maven-reporting-api</tt></a></li></ul></div>
-<div class="section">
+<li><a href="/shared/maven-reporting-impl/dependency-info.html"><code>org.apache.maven.reporting:maven-reporting-impl</code></a></li>
+<li><a href="/shared/maven-reporting-api/project-summary.html"><code>org.apache.maven.reporting:maven-reporting-api</code></a></li></ul></section><section>
 <h3><a name="A_.28Very.29_Simple_Report"></a>A (Very) Simple Report</h3>
 <p>Let's write a very simple <i>report Mojo</i> in a very simple Maven plugin:</p>
 <ul>
 <li>Plugin's name: <b>Simple Plugin</b></li>
-<li>Plugin's artifact coordinates: <tt>com.mycompany.maven:simple-maven-plugin:1.0-SNAPSHOT</tt></li>
+<li>Plugin's artifact coordinates: <code>com.mycompany.maven:simple-maven-plugin:1.0-SNAPSHOT</code></li>
 <li>One goal: <b>simple</b></li>
-<li>One result: <tt>simple-report.html</tt></li></ul>
+<li>One result: <code>simple-report.html</code></li></ul>
 <p>Our Maven plugin project has 2 files only:</p>
 <ul>
-<li><tt>./pom.xml</tt></li>
-<li><tt>./src/main/java/com/mycompany/maven/SimpleReport.java</tt></li></ul>
-<p>The below examples can be copied and pasted as a template.</p>
-<div class="section">
+<li><code>./pom.xml</code></li>
+<li><code>./src/main/java/com/mycompany/maven/SimpleReport.java</code></li></ul>
+<p>The below examples can be copied and pasted as a template.</p><section>
 <h4><a name="a..2Fpom.xml"></a>./pom.xml</h4>
 <div class="source"><pre class="prettyprint linenums">&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
         xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;
@@ -271,8 +267,7 @@ Bertrand Martin" />
                 &lt;/plugins&gt;
         &lt;/build&gt;
 
-&lt;/project&gt;</pre></div></div>
-<div class="section">
+&lt;/project&gt;</pre></div></section><section>
 <h4><a name="a..2Fsrc.2Fmain.2Fjava.2Fcom.2Fmycompany.2Fmaven.2FSimpleReport.java"></a>./src/main/java/com/mycompany/maven/SimpleReport.java</h4>
 <div class="source"><pre class="prettyprint linenums">package com.mycompany.maven;
 
@@ -371,15 +366,14 @@ public class SimpleReport extends Abstra
 
         }
 
-}</pre></div></div>
-<div class="section">
+}</pre></div></section><section>
 <h4><a name="Building_the_Simple_Plugin"></a>Building the Simple Plugin</h4>
 <p>Building the plugin is done by executing the below command in the root directory of the plugin project:</p>
 <div class="source"><pre class="prettyprint linenums">$ mvn install</pre></div>
 <p>This command will:</p>
 <ul>
 <li>compile your code</li>
-<li>produces the plugin JAR artifact (<tt>./target/simple-maven-plugin-1.0-SNAPSHOT.jar</tt>)</li>
+<li>produces the plugin JAR artifact (<code>./target/simple-maven-plugin-1.0-SNAPSHOT.jar</code>)</li>
 <li>copy the artifact to your local repository so that it can be &quot;consumed&quot; by other projects (which is the purpose of a plugin, right?).</li></ul>
 <p>To make sure everything went well and is properly declared, you can now execute the below command in any other Maven project directory:</p>
 <div class="source"><pre class="prettyprint linenums">$ mvn com.mycompany.maven:simple-maven-plugin:1.0-SNAPSHOT:help
@@ -403,10 +397,9 @@ simple:simple
 
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
-[INFO] ------------------------------------------------------------------------</pre></div></div>
-<div class="section">
+[INFO] ------------------------------------------------------------------------</pre></div></section><section>
 <h4><a name="Invoking_the_Simple_Plugin"></a>Invoking the Simple Plugin</h4>
-<p>To invoke the <i>report Mojo</i> of our plugin in another Maven project, we just need to declare the plugin in the <a href="/plugins/maven-site-plugin/examples/configuring-reports.html"><tt>&lt;reporting&gt;</tt></a> section of its <tt>pom.xml</tt> as in the example below:</p>
+<p>To invoke the <i>report Mojo</i> of our plugin in another Maven project, we just need to declare the plugin in the <a href="/plugins/maven-site-plugin/examples/configuring-reports.html"><code>&lt;reporting&gt;</code></a> section of its <code>pom.xml</code> as in the example below:</p>
 <div class="source"><pre class="prettyprint linenums">&lt;project&gt;
 ...
 &lt;reporting&gt;
@@ -419,10 +412,8 @@ simple:simple
   &lt;/plugins&gt;
 &lt;/reporting&gt;
 ...</pre></div>
-<p>Note: When no specific report is specified, all of the <i>Mojos</i> in the plugin, that are declared as &quot;reporting&quot; will be executed. <a href="/plugins/maven-site-plugin/examples/configuring-reports.html">More information about configuring reports</a>.</p></div></div>
-<div class="section">
-<h3><a name="More_Information"></a>More Information</h3>
-<div class="section">
+<p>Note: When no specific report is specified, all of the <i>Mojos</i> in the plugin, that are declared as &quot;reporting&quot; will be executed. <a href="/plugins/maven-site-plugin/examples/configuring-reports.html">More information about configuring reports</a>.</p></section></section><section>
+<h3><a name="More_Information"></a>More Information</h3><section>
 <h4><a name="The_Doxia_Sink_API"></a>The Doxia Sink API</h4>
 <p>In your <i>executeReport()</i> method, you will leverage the <a href="/doxia/doxia/doxia-sink-api/">Doxia Sink API</a> to add elements to the report document.</p>
 <p>You will use the <a href="/doxia/doxia/doxia-sink-api/apidocs/org/apache/maven/doxia/sink/Sink.html"><i>Sink</i></a> object associated to the report:</p>
@@ -441,9 +432,8 @@ simple:simple
 <li>Head and title (<i>sink.head()</i> and <i>sink.title()</i>)</li>
 <li>Body (<i>sink.body()</i>)</li>
 <li>Section 1 with title (<i>sink.section1()</i> and <i>sink.sectionTitle1()</i>)</li></ul>
-<p>The <a href="/doxia/doxia/doxia-sink-api/apidocs/org/apache/maven/doxia/sink/Sink.html"><i>Sink</i></a> object allows you to add raw text with the <i>rawText()</i> method. More precisely, it allows you to add raw HTML code into the document for full flexibility. However, you should limit the usage of this method as you may add elements that are not supported by non-HTML renderers (like <a href="/plugins/maven-pdf-plugin/"><tt>maven-pdf-site</tt></a>).</p>
-<p>The Doxia Sink API allows you to specify <a href="/doxia/doxia/doxia-sink-api/apidocs/org/apache/maven/doxia/sink/SinkEventAttributes.html"><i>SinkEventAttributes</i></a> to each element, i.e. HTML properties, notably the class and the ID of an object, which allows for easy customization with an appropriate CSS (either provided by the specified Maven Skin, or by the project itself).</p></div>
-<div class="section">
+<p>The <a href="/doxia/doxia/doxia-sink-api/apidocs/org/apache/maven/doxia/sink/Sink.html"><i>Sink</i></a> object allows you to add raw text with the <i>rawText()</i> method. More precisely, it allows you to add raw HTML code into the document for full flexibility. However, you should limit the usage of this method as you may add elements that are not supported by non-HTML renderers (like <a href="/plugins/maven-pdf-plugin/"><code>maven-pdf-site</code></a>).</p>
+<p>The Doxia Sink API allows you to specify <a href="/doxia/doxia/doxia-sink-api/apidocs/org/apache/maven/doxia/sink/SinkEventAttributes.html"><i>SinkEventAttributes</i></a> to each element, i.e. HTML properties, notably the class and the ID of an object, which allows for easy customization with an appropriate CSS (either provided by the specified Maven Skin, or by the project itself).</p></section><section>
 <h4><a name="Creating_more_than_one_document"></a>Creating more than one document</h4>
 <p>You may need to create not just one HTML file, but several of them (like Javadoc produces one HTML file for each Java class). To do so, you will need to get a new <i>Sink</i> for each HTML file you need to produce. This is achieved by using the <a href="/doxia/doxia/doxia-sink-api/apidocs/org/apache/maven/doxia/sink/SinkFactory.html"><i>SinkFactory</i></a> object that you can easily obtain with the <a href="/shared/maven-reporting-impl/apidocs/org/apache/maven/reporting/AbstractMavenReport.html#getSinkFactory"><i>getSinkFactory()</i></a> method of your <a href="/shared/maven-reporting-impl/apidocs/org/apache/maven/reporting/AbstractMavenReport.html"><i>AbstractMavenReport</i></a> instance, as in the example below.</p>
 <div class="source"><pre class="prettyprint linenums">public class SimpleReport extends AbstractMavenReport {
@@ -477,15 +467,14 @@ simple:simple
     otherSink.title();
     otherSink.text(&quot;The Other Report&quot;);
     ...</pre></div>
-<p>The above example will create a <tt>other-report.html</tt> HTML file along with <tt>simple-report.html</tt>.</p>
-<p>Note: Despite the fact that you will be creating additional HTML files, the Velocity variable <tt>$currentFileName</tt> passed to the <tt>site.vm</tt> script of the Maven Skin will keep the name of the original report (i.e. the result of your <i>getOutputName()</i> method). <a href="/doxia/doxia-sitetools/doxia-site-renderer/">More information about the Velocity variables</a>.</p></div></div>
-<div class="section">
+<p>The above example will create a <code>other-report.html</code> HTML file along with <code>simple-report.html</code>.</p>
+<p>Note: Despite the fact that you will be creating additional HTML files, the Velocity variable <code>$currentFileName</code> passed to the <code>site.vm</code> script of the Maven Skin will keep the name of the original report (i.e. the result of your <i>getOutputName()</i> method). <a href="/doxia/doxia-sitetools/doxia-site-renderer/">More information about the Velocity variables</a>.</p></section></section><section>
 <h3><a name="Resources"></a>Resources</h3>
 <ol style="list-style-type: decimal">
 <li><a href="./guide-java-plugin-development.html">Guide to Developing Java Plugins</a>: Starting point, since a reporting plugin is a plugin...</li>
 <li><a href="/shared/maven-reporting-api/">Maven Reporting API</a>: The Reporting API to implement when a Mojo provides reporting for site.</li>
 <li><a href="/shared/maven-reporting-impl/">Maven Reporting Implementation</a>: Base implementation of both Reporting API and Plugin API.</li>
-<li><a href="/doxia/doxia/doxia-sink-api/">Doxia Sink API</a>: API to generate content.</li></ol></div></div>
+<li><a href="/doxia/doxia/doxia-sink-api/">Doxia Sink API</a>: API to generate content.</li></ol></section></section>
         </div>
       </div>
     </div>

Modified: maven/website/content/ide.html
==============================================================================
--- maven/website/content/ide.html (original)
+++ maven/website/content/ide.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from content/markdown/ide.md at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from content/markdown/ide.md at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -127,10 +127,9 @@
         </div>
         <div id="bodyColumn"  class="span10" >
 <h1>Apache Maven IDE Integration</h1>
-<p>All popular development environments for the Java platform and beyond support Apache Maven with numerous features out of the box. The following list iterates popular IDEs in alphabetical order:</p>
-<div class="section">
+<p>All popular development environments for the Java platform and beyond support Apache Maven with numerous features out of the box. The following list iterates popular IDEs in alphabetical order:</p><section>
 <h2><a name="Eclipse_IDE_-_M2Eclipse"></a>Eclipse IDE - M2Eclipse</h2>
-<p><a class="externalLink" href="http://www.eclipse.org/m2e/">M2Eclipse </a> is the official Eclipse project for Maven integration for the Eclipse IDE.</p>
+<p><a class="externalLink" href="http://www.eclipse.org/m2e/">M2Eclipse</a> is the official Eclipse project for Maven integration for the Eclipse IDE.</p>
 <p>Features include:</p>
 <ul>
 
@@ -143,14 +142,12 @@
 <li>Quick fixes in the Java editor for looking up required dependencies/jars by the class or package name</li>
 <li>Integration with other Eclipse tools, such as WTP, AJDT, Mylyn, Subclipse and others.</li>
 </ul>
-<p>M2E dynamically integrates with your Maven projects with Eclipse while you make changes in the IDE. As you change dependencies, or configurations of Maven plugins in your POMs M2E, will synchronize the Eclipse workspace with those changes.</p></div>
-<div class="section">
+<p>M2E dynamically integrates with your Maven projects with Eclipse while you make changes in the IDE. As you change dependencies, or configurations of Maven plugins in your POMs M2E, will synchronize the Eclipse workspace with those changes.</p></section><section>
 <h2><a name="JetBrains_IntelliJ_IDEA"></a>JetBrains IntelliJ IDEA</h2>
-<p>IntelliJ IDEA has a <a class="externalLink" href="https://www.jetbrains.com/idea/help/maven.html">feature-rich integration for Maven</a>.</p></div>
-<div class="section">
+<p>IntelliJ IDEA has a <a class="externalLink" href="https://www.jetbrains.com/idea/help/maven.html">feature-rich integration for Maven</a>.</p></section><section>
 <h2><a name="Netbeans_IDE"></a>Netbeans IDE</h2>
 <p>NetBeans includes full Maven support since 6.7, including Maven 3 support in 7.0+. You can open any Maven project in the IDE and start coding immediately.</p>
-<p>For more information see the <a class="externalLink" href="http://wiki.netbeans.org/Maven">NetBeans.org wiki page</a>.</p></div>
+<p>For more information see the <a class="externalLink" href="http://wiki.netbeans.org/Maven">NetBeans.org wiki page</a>.</p></section>
         </div>
       </div>
     </div>

Modified: maven/website/content/index.html
==============================================================================
--- maven/website/content/index.html (original)
+++ maven/website/content/index.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from content/xdoc/index.xml.vm at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from content/xdoc/index.xml.vm at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -133,7 +133,7 @@
 
   
 
-    <div class="section">
+    <section>
 <h2><a name="Welcome_to_Apache_Maven"></a>Welcome to Apache Maven</h2>
 
       
@@ -235,8 +235,7 @@
         If you are looking for a quick reference, you can use the <a href="guides/index.html">documentation index</a>.
       </p>
 
-      
-<div class="section">
+      <section>
 <h3><a name="How_to_Get_Support"></a>How to Get Support</h3>
       
 <p>
@@ -260,8 +259,7 @@
         You can also reach the Maven developers on <a href="community.html">IRC</a>.
       </p>
 
-      </div>
-<div class="section">
+      </section><section>
 <h3><a name="Apache_Software_Foundation"></a>Apache Software Foundation</h3>
       
 <p>
@@ -277,7 +275,7 @@
         You can also attend <a class="externalLink" href="https://www.apache.org/events/current-event.html">Apache Events</a>: don't hesitate to ask on the <a href="mailing-lists.html">Maven User mailing list</a>
         if Maven team members will be there, it can be a great opportunity to meet them.
       </p>
-    </div></div>
+    </section></section>
   
 
         </div>

Modified: maven/website/content/install.html
==============================================================================
--- maven/website/content/install.html (original)
+++ maven/website/content/install.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from content/markdown/install.md.vm at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from content/markdown/install.md.vm at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -127,13 +127,13 @@
         </div>
         <div id="bodyColumn"  class="span10" >
 <h1>Installing Apache Maven</h1>
-<p>The installation of Apache Maven is a simple process of extracting the archive and adding the <tt>bin</tt> folder with the <tt>mvn</tt> command to the <tt>PATH</tt>.</p>
+<p>The installation of Apache Maven is a simple process of extracting the archive and adding the bin folder with the mvn command to the PATH.</p>
 <p>Detailed steps are:</p>
 <ul>
 
 <li>
 
-<p>Ensure <tt>JAVA_HOME</tt> environment variable is set and points to your JDK installation</p>
+<p>Ensure JAVA_HOME environment variable is set and points to your JDK installation</p>
 </li>
 <li>
 
@@ -158,11 +158,11 @@
 
 <li>
 
-<p>Add the <tt>bin</tt> directory of the created directory <tt>apache-maven-3.6.1</tt> to the <tt>PATH</tt> environment variable</p>
+<p>Add the bin directory of the created directory apache-maven-3.6.1 to the PATH environment variable</p>
 </li>
 <li>
 
-<p>Confirm with <tt>mvn -v</tt> in a new shell. The result should look similar to</p>
+<p>Confirm with mvn -v in a new shell. The result should look similar to</p>
 </li>
 </ul>
 
@@ -175,8 +175,7 @@ Java home: /Library/Java/JavaVirtualMach
 Default locale: en_US, platform encoding: UTF-8
 OS name: &quot;mac os x&quot;, version: &quot;10.8.5&quot;, arch: &quot;x86_64&quot;, family: &quot;mac&quot;
 </pre></div></div>
-
-<div class="section">
+<section>
 <h2><a name="Windows_Tips"></a>Windows Tips</h2>
 <ul>
 
@@ -193,14 +192,13 @@ C:\Program Files\Java\jdk1.7.0_51
 
 <li>
 
-<p>Adding to <tt>PATH</tt>:  Add the unpacked distribution&#x2019;s bin directory to your user PATH environment variable by opening up the system properties (WinKey + Pause), selecting the &#x201c;Advanced&#x201d; tab, and the &#x201c;Environment Variables&#x201d; button, then adding or selecting the <i>PATH</i> variable in the user variables with the value <tt>C:\Program Files\apache-maven-3.6.1\bin</tt>. The same dialog can be used to set <tt>JAVA_HOME</tt> to the location of your JDK, e.g. <tt>C:\Program Files\Java\jdk1.7.0_51</tt></p>
+<p>Adding to PATH:  Add the unpacked distribution&#x2019;s bin directory to your user PATH environment variable by opening up the system properties (WinKey + Pause), selecting the &#x201c;Advanced&#x201d; tab, and the &#x201c;Environment Variables&#x201d; button, then adding or selecting the <i>PATH</i> variable in the user variables with the value C:\Program Files\apache-maven-3.6.1\bin. The same dialog can be used to set JAVA_HOME to the location of your JDK, e.g. C:\Program Files\Java\jdk1.7.0_51</p>
 </li>
 <li>
 
-<p>Open a new command prompt (Winkey + R then type <tt>cmd</tt>) and run <tt>mvn -v</tt> to verify the installation.</p>
+<p>Open a new command prompt (Winkey + R then type cmd) and run mvn -v to verify the installation.</p>
 </li>
-</ul></div>
-<div class="section">
+</ul></section><section>
 <h2><a name="Unix-based_Operating_System_.28Linux.2C_Solaris_and_Mac_OS_X.29_Tips"></a>Unix-based Operating System (Linux, Solaris and Mac OS X) Tips</h2>
 <ul>
 
@@ -215,13 +213,13 @@ C:\Program Files\Java\jdk1.7.0_51
 
 <ul>
 
-<li>Adding to <tt>PATH</tt></li>
+<li>Adding to PATH</li>
 </ul>
 
 <div>
 <div>
 <pre class="source">export PATH=/opt/apache-maven-3.6.1/bin:$PATH
-</pre></div></div></div>
+</pre></div></div></section>
         </div>
       </div>
     </div>

Modified: maven/website/content/issue-management.html
==============================================================================
--- maven/website/content/issue-management.html (original)
+++ maven/website/content/issue-management.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from content/markdown/issue-management.md at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from content/markdown/issue-management.md at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -127,10 +127,9 @@
           </div>
         </div>
         <div id="bodyColumn"  class="span10" >
-<div class="section">
+<section>
 <h2><a name="Overview"></a>Overview</h2>
-<p>Maven projects use <a class="externalLink" href="https://www.atlassian.com/software/jira">Jira</a> as issue tracking and project management application.</p></div>
-<div class="section">
+<p>Maven projects use <a class="externalLink" href="https://www.atlassian.com/software/jira">Jira</a> as issue tracking and project management application.</p></section><section>
 <h2><a name="Issue_Management"></a>Issue Management</h2>
 <p>Maven is composed of nearly <a href="/scm.html#Maven_Sources_Overview">100 parts</a>, each one having its own Jira project or component: <b>see the <a class="externalLink" href="https://cwiki.apache.org/confluence/display/MAVEN/Maven+JIRA+issues+overview">Maven Jira issues overview</a> to get a summary of open issues</b>.</p>
 <p>Issues, bugs, and feature requests should be submitted to the following issue management systems depending on which component is involved:</p>
@@ -169,7 +168,7 @@
 <p>Wagon: <a class="externalLink" href="https://issues.apache.org/jira/browse/WAGON">https://issues.apache.org/jira/browse/WAGON</a></p>
 </li>
 </ul>
-<p>or for Central Repository: <a class="externalLink" href="https://issues.sonatype.org/browse/MVNCENTRAL">https://issues.sonatype.org/browse/MVNCENTRAL</a></p></div>
+<p>or for Central Repository: <a class="externalLink" href="https://issues.sonatype.org/browse/MVNCENTRAL">https://issues.sonatype.org/browse/MVNCENTRAL</a></p></section>
         </div>
       </div>
     </div>

Modified: maven/website/content/mailing-lists.html
==============================================================================
--- maven/website/content/mailing-lists.html (original)
+++ maven/website/content/mailing-lists.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:mailing-lists at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:mailing-lists at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -127,7 +127,7 @@
           </div>
         </div>
         <div id="bodyColumn"  class="span10" >
-<div class="section">
+<section>
 <h2><a name="Project_Mailing_Lists"></a>Project Mailing Lists</h2><a name="Project_Mailing_Lists"></a>
 <p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p>
 <table border="0" class="table table-striped">
@@ -305,7 +305,7 @@
 <td>-</td>
 <td>-</td>
 <td>-</td>
-<td><a class="externalLink" href="https://maven-notifications.markmail.org/">maven-notifications.markmail.org</a></td></tr></table></div>
+<td><a class="externalLink" href="https://maven-notifications.markmail.org/">maven-notifications.markmail.org</a></td></tr></table></section>
         </div>
       </div>
     </div>

Modified: maven/website/content/maven-1.x-eol.html
==============================================================================
--- maven/website/content/maven-1.x-eol.html (original)
+++ maven/website/content/maven-1.x-eol.html Sun Jun  9 13:59:34 2019
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from content/markdown/maven-1.x-eol.md at 2019-06-09
+ | Generated by Apache Maven Doxia Site Renderer 1.9 from content/markdown/maven-1.x-eol.md at 2019-06-09
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -118,7 +118,7 @@
           </div>
         </div>
         <div id="bodyColumn"  class="span10" >
-<div class="section">
+<section>
 <h2><a name="End_Of_Life_Apache_Maven_1.x"></a>End Of Life Apache Maven 1.x</h2>
 <p>The Apache Maven Project Team would like to inform you that the Apache Maven 1.x has reached its end of life and is no longer supported.</p>
 <p>Apache Maven 1.x had its last release - version 1.1 - in June 2007.</p>
@@ -131,7 +131,7 @@
 <li>the 1.x branch in svn will move from /maven/maven-1/ to /maven/archives/maven-1/</li>
 <li>the links to the 1.x documentation will be moved from <a class="externalLink" href="https://maven.apache.org/maven-1.x/">https://maven.apache.org/maven-1.x/</a> to <a class="externalLink" href="https://maven.apache.org/archives/maven-1.x/">https://maven.apache.org/archives/maven-1.x/</a></li>
 </ul>
-<p>The Apache Maven Team.</p></div>
+<p>The Apache Maven Team.</p></section>
         </div>
       </div>
     </div>