Modified: maven/website/content/examples/maven-3-lifecycle-extensions.html ============================================================================== --- maven/website/content/examples/maven-3-lifecycle-extensions.html (original) +++ maven/website/content/examples/maven-3-lifecycle-extensions.html Sun May 12 07:42:36 2024 @@ -2,17 +2,17 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/examples/maven-3-lifecycle-extensions.apt.vm at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/examples/maven-3-lifecycle-extensions.apt.vm at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Olivier Lamy" /> <meta name="date" content="2012-03-07" /> - <title>Maven</title> + <title>Maven â Example: Maven 3 lifecycle extension</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -39,10 +39,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -50,9 +48,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/examples/maven-3-lifecycle-extensions.apt.vm"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Example: Maven 3 lifecycle extension <a href="https://github.com/apache/maven-site/tree/master/content/apt/examples/maven-3-lifecycle-extensions.apt.vm"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -143,17 +140,17 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Example.3A_Using_Maven_3_lifecycle_extension"></a> -<h1>Example: Using Maven 3 lifecycle extension</h1><section><a id="Lifecycle_Extension_Points"></a> +<section> +<h1>Example: Using Maven 3 lifecycle extension</h1><section> <h2>Lifecycle Extension Points</h2> <p>You can extend multiple classes depending on your needs:</p> <ul> <li><a href="/ref/current/maven-core/apidocs/index.html?org/apache/maven/execution/AbstractExecutionListener.html"><code>org.apache.maven.execution.AbstractExecutionListener</code></a>,</li> <li><a href="/ref/current/maven-core/apidocs/index.html?org/apache/maven/AbstractMavenLifecycleParticipant.html"><code>org.apache.maven.AbstractMavenLifecycleParticipant</code></a>,</li> -<li><a href="/ref/current/maven-core/apidocs/index.html?org/apache/maven/eventspy/AbstractEventSpy.html"><code>org.apache.maven.eventspy.AbstractEventSpy</code></a></li></ul></section><section><a id="Build_Your_Extension"></a> +<li><a href="/ref/current/maven-core/apidocs/index.html?org/apache/maven/eventspy/AbstractEventSpy.html"><code>org.apache.maven.eventspy.AbstractEventSpy</code></a></li></ul></section><section> <h2>Build Your Extension</h2> <p>Create a Maven project with a dependency on <code>org.apache.maven:maven-core:3.9.6</code> and other dependencies:</p> -<pre><code> <groupId>org.apache.maven.extensions</groupId> +<div class="verbatim source"><pre class="prettyprint linenums"> <groupId>org.apache.maven.extensions</groupId> <artifactId>beer-maven-lifecycle</artifactId> <version>1.0-SNAPSHOT</version> @@ -170,9 +167,9 @@ <artifactId>javax.inject</artifactId> <version>1</version> <scope>provided</scope> <!-- always provided by the Maven Core Classloader --> - </dependency></code></pre> + </dependency></pre></div> <p>Create your extension class; your extension must be a <a class="externalLink" href="https://www.eclipse.org/sisu/">Sisu component</a>, therefore mark it with the JSR 330 (or legacy Plexus container) annotation:</p> -<pre><code>@Named( "beer") +<div class="verbatim source"><pre class="prettyprint linenums">@Named( "beer") @Singleton public class BeerMavenLifecycleParticipant extends AbstractMavenLifecycleParticipant { @@ -192,9 +189,9 @@ public class BeerMavenLifecycleParticipa // ask a beer to the machine } -}</code></pre> +}</pre></div> <p>Generate <a class="externalLink" href="https://eclipse.github.io/sisu.mojos/">Sisu index files</a> during the build of your extension jar:</p> -<pre><code> <build> +<div class="verbatim source"><pre class="prettyprint linenums"> <build> ... <plugins> ... @@ -214,7 +211,7 @@ public class BeerMavenLifecycleParticipa ... </plugins> ... - </build></code></pre></section><section><a id="Load_Your_Extension"></a> + </build></pre></div></section><section> <h2>Load Your Extension</h2> <p>Use your extension in your build(s) via one of the means outlined at <a href="../guides/mini/guide-using-extensions.html">Guide to using Extensions</a></p> <p>Whether late registration is sufficient or early registration is required depends on the implemented interface/extended class, e.g. <code>AbstractMavenLifecycleParticipant.afterSessionStart()</code> is not called for components registered late.</p></section></section>
Modified: maven/website/content/extensions/index.html ============================================================================== --- maven/website/content/extensions/index.html (original) +++ maven/website/content/extensions/index.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/extensions/index.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/extensions/index.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Available Extensions</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/extensions/index.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Available Extensions <a href="https://github.com/apache/maven-site/tree/master/content/markdown/extensions/index.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -129,7 +126,106 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section> +<section><section> +<h2>Available Extensions</h2><!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<p>Maven is - at its heart - a plugin execution framework; most work is done by plugins. However, with extensions +it is possible to hook into Maven, e.g. to manipulate the lifecycle.</p> +<ul> + +<li><a href="/guides/mini/guide-using-extensions.html">Configure Extensions</a></li> +<li><a href="/examples/maven-3-lifecycle-extensions.html">Write Extensions</a></li> +</ul><section> +<h3>Maintained By The Maven Project</h3> +<table class="table table-striped"> +<thead> +<tr class="a"> +<th>Extension</th> +<th>Version</th> +<th>Release Date</th> +<th>Description</th> +<th>Source Repository</th> +<th>Issue Tracker</th></tr></thead><tbody> +<tr class="b"> +<td><a href="./maven-build-cache-extension/">Build Cache</a></td> +<td>1.1.0</td> +<td>2023-11-27</td> +<td>Maven Incremental Build and Cache (local and remote).</td> +<td><a href="https://gitbox.apache.org/repos/asf/maven-build-cache-extension.git" class="externalLink">Git</a> / <a href="https://github.com/apache/maven-build-cache-extension/" class="externalLink">GitHub</a></td> +<td><a href="https://issues.apache.org/jira/browse/MBUILDCACHE" class="externalLink">Jira MBUILDCACHE</a></td></tr> +<tr class="a"> +<td><a href="/enforcer/maven-enforcer-extension/">Enforcer</a></td> +<td>3.4.1</td> +<td>2023-09-07</td> +<td>Environmental constraint checking (Maven Version, JDK etc), User Custom Rule Execution.</td> +<td><a href="https://gitbox.apache.org/repos/asf/maven-enforcer.git" class="externalLink">Git</a> / <a href="https://github.com/apache/maven-enforcer/" class="externalLink">GitHub</a></td> +<td><a href="https://issues.apache.org/jira/browse/MENFORCER" class="externalLink">Jira MENFORCER</a></td></tr></tbody> +</table> +</section><section> +<h3>Outside The Maven Land</h3> +<p>A number of other projects provide their own Maven extensions. This includes:</p><section> +<h4>Open Source</h4> +<table class="table table-striped"> +<thead> +<tr class="a"> +<th>Extension</th> +<th>Maintainer</th> +<th>Description</th></tr></thead><tbody> +<tr class="b"> +<td><a href="https://github.com/jcgay/maven-notifier" class="externalLink">notifier</a></td> +<td>Jean-Christophe Gay</td> +<td>A status notification will be send at the end of a Maven build.</td></tr> +<tr class="a"> +<td><a href="https://github.com/takari/polyglot-maven" class="externalLink">polyglot</a></td> +<td>Takari</td> +<td>Polyglot for Maven is a set of extensions that allows the POM model to be written in dialects other than XML.</td></tr> +<tr class="b"> +<td><a href="https://github.com/jcgay/maven-profiler" class="externalLink">profiler</a></td> +<td>Jean-Christophe Gay</td> +<td>A time execution recorder for Maven which log time taken by each mojo in your build lifecycle.</td></tr> +<tr class="a"> +<td><a href="https://github.com/takari/maven-profiler" class="externalLink">profiler</a></td> +<td>Takari</td> +<td>The Tesla profiler is a simple EventSpy implementation that gathers timing information.</td></tr> +<tr class="b"> +<td><a href="https://github.com/takari/takari-smart-builder" class="externalLink">smart-builder</a></td> +<td>Takari</td> +<td>The Takari Smart Builder is a replacement scheduling projects builds in a Maven multi-module build.</td></tr> +<tr class="a"> +<td><a href="https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/maven-extension" class="externalLink">opentelemetry-maven-extension</a></td> +<td>The OpenTelemetry project</td> +<td>The OpenTelemetry Maven Extension instruments builds to gather execution details as traces for build performance optimization and for troubleshooting. <br />OpenTelemetry traces can be visualized in open source observability solutions such as <a href="https://www.jaegertracing.io" class="externalLink">Jaeger Tracing</a> as well as in commercial solutions.</td></tr></tbody> +</table> +</section><section> +<h4>Commercial</h4> +<table class="table table-striped"> +<thead> +<tr class="a"> +<th>Extension</th> +<th>Maintainer</th> +<th>Description</th></tr></thead><tbody> +<tr class="b"> +<td><a href="https://docs.gradle.com/enterprise/maven-extension/" class="externalLink">Gradle Enterprise</a></td> +<td>Gradle Inc.</td> +<td>Captures Maven build insights that can be viewed for free on <a href="https://scans.gradle.com/" class="externalLink">scans.gradle.com</a>. Provides local and remote build caching, distributed test execution and predictive test selection for Maven builds connected to a Gradle Enterprise installation.</td></tr></tbody> +</table></section></section></section></section> </main> </div> </div>