You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2022/04/23 13:08:12 UTC

[maven-site] branch master updated: split plugins vs extensions

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-site.git


The following commit(s) were added to refs/heads/master by this push:
     new 31b57376 split plugins vs extensions
31b57376 is described below

commit 31b573766827a7826527c0847248b6a23ddfcef9
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sat Apr 23 15:07:40 2022 +0200

    split plugins vs extensions
---
 content/apt/guides/mini/index.txt                  |   2 +
 .../cookbook/add-build-time-to-manifest.apt        | 110 ---------------------
 .../cookbook/add-svn-revision-to-manifest.apt      |  95 ------------------
 .../cookbook/attach-source-javadoc-artifacts.apt   |  95 ------------------
 .../cookbook/generate-assembly.apt                 |  94 ------------------
 content/apt/plugin-developers/cookbook/index.apt   |  17 +---
 content/apt/plugin-developers/index.apt            |  12 ++-
 content/site.xml                                   |  10 +-
 content/xdoc/developers/mojo-api-specification.xml |  25 ++---
 9 files changed, 22 insertions(+), 438 deletions(-)

diff --git a/content/apt/guides/mini/index.txt b/content/apt/guides/mini/index.txt
index 5e5201b6..20a3e745 100644
--- a/content/apt/guides/mini/index.txt
+++ b/content/apt/guides/mini/index.txt
@@ -43,6 +43,8 @@
 
  * {{{$prefix/guide-using-toolchains.html}Using Toolchains}}
 
+ * {{{/examples/injecting-properties-via-settings.html}Injecting POM Properties via settings.xml}}
+
 ~~ ** Testing
 
 ~~ * {{{$prefix/guide-attached-tests.html}Reusable Test JARs}}
diff --git a/content/apt/plugin-developers/cookbook/add-build-time-to-manifest.apt b/content/apt/plugin-developers/cookbook/add-build-time-to-manifest.apt
deleted file mode 100644
index 2e10f918..00000000
--- a/content/apt/plugin-developers/cookbook/add-build-time-to-manifest.apt
+++ /dev/null
@@ -1,110 +0,0 @@
- -----
- Cookbook - How To Add Build Time To A JAR Manifest
- -----
- Vincent Siveton
- -----
- 2008-01-01
- -----
-
-~~ 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.
-
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/doxia/references/apt-format.html
-
-Cookbook: How To Add Build Time To A JAR Manifest?
-
-* Summary
-
-  This recipe describes how to add build time to a JAR manifest by calling {{{http://ant.apache.org}Apache Ant}} tasks.
-
-* Prerequisite Plugins
-
-  Here is the list of the plugins used:
-
-*-----------------------------------------------------------+--------------+
-|| <<Plugin>>                                               || <<Version>>
-*-----------------------------------------------------------+--------------+
-| {{{../../plugins/maven-antrun-plugin/} <<<antrun>>>}}     | 1.1
-*-----------------------------------------------------------+--------------+
-| {{{../../plugins/maven-jar-plugin/} <<<jar>>>}}           | 2.2
-*-----------------------------------------------------------+--------------+
-
-* Sample Generated Manifest
-
-+-----+
-Manifest-Version: 1.0
-Archiver-Version: Plexus Archiver
-Created-By: Apache Maven
-Built-By: vsiveton
-Build-Jdk: 1.5.0_12
-Build-Time: 2008-01-18 06:53:13
-+-----+
-
-* Recipe
-
-** Configuring MANIFEST.MF
-
-  To generate and add build time into a Jar Manifest, we are using <<<MANIFEST.MF>>>, located in the <<<src/main/resources/META-INF>>> directory,
-  which contains a built time value to be interpolated, i.e.
-
-+-----+
-Build-Time: ${build.time}
-+-----+
-
-** Configuring The POM
-
-  The value $\{build.time\} from the <<<MANIFEST.MF>>> will be filtering by Maven due to the \<filtering\> element.
-  The value is taken from the file <<<$\{basedir\}/target/filter.properties>>>, listed by the \<filter\> element, i.e.
-
-%{snippet|id=pom|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-build-time/pom.xml}
-
-** Configuring Maven Antrun Plugin
-
-  The <<<filter.properties>>> file will be generated by the Antrun plugin. We use two core Ant Tasks,
-  {{{http://ant.apache.org/manual/CoreTasks/tstamp.html}\<tstamp\>}} and
-  {{{http://ant.apache.org/manual/CoreTasks/echo.html}\<echo\>}}.
-
-%{snippet|id=antrun|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-build-time/pom.xml}
-
-** Configuring Maven Jar Plugin
-
-  The last configuration is to set the <<<defaultManifestFile>>> to <<<true>>> to enable it.
-
-%{snippet|id=jar|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-build-time/pom.xml}
-
-** Running Maven
-
-  Just call Maven to generate the package:
-
-+-----+
-mvn package
-+-----+
-
-* Other Tips
-
-  You could tweak the Jar Plugin configuration into the War Plugin.
-
-* Resources
-
-  * Source code: {{{https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-build-time}https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-build-time}}
-
-  * {{{../../plugins/maven-antrun-plugin/} Maven Antrun Plugin}}
-
-  * {{{../../plugins/maven-jar-plugin/} Maven Jar Plugin}}
-
-  []
diff --git a/content/apt/plugin-developers/cookbook/add-svn-revision-to-manifest.apt b/content/apt/plugin-developers/cookbook/add-svn-revision-to-manifest.apt
deleted file mode 100644
index 0a2123f9..00000000
--- a/content/apt/plugin-developers/cookbook/add-svn-revision-to-manifest.apt
+++ /dev/null
@@ -1,95 +0,0 @@
- -----
- Cookbook - How To Add SVN Revision To A JAR Manifest
- -----
- Vincent Siveton
- Karl Heinz Marbase
- -----
- 2015-06-12
- -----
-
-~~ 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.
-
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/doxia/references/apt-format.html
-
-Cookbook: How To Add SVN Revision To A JAR Manifest?
-
-* Summary
-
-  This recipe describes how to add SVN revision to a JAR manifest.
-
-* Prerequisite Plugins
-
-  Here is the list of the plugins used:
-
-*-----------------------------------------------------------+--------------+
-|| <<Plugin>>                                               || <<Version>>
-*-----------------------------------------------------------+--------------+
-| {{{../../plugins/maven-jar-plugin/} <<<jar>>>}}           | 2.6
-*-----------------------------------------------------------+--------------+
-| {{{https://www.mojohaus.org/buildnumber-maven-plugin/} <<<buildnumber>>>}} | 1.3
-*-----------------------------------------------------------+--------------+
-
-* Sample Generated Manifest
-
-+-----+
-Manifest-Version: 1.0
-Archiver-Version: Plexus Archiver
-Created-By: Apache Maven
-Built-By: vsiveton
-Build-Jdk: 1.5.0_12
-SCM-Revision: 613393
-+-----+
-
-* Recipe
-
-** Configuring Mojo Buildnumber Plugin
-
-  We configure this plugin as suggested in the {{{http://www.mojohaus.org/buildnumber-maven-plugin/usage.html}Mojo Buildnumber Plugin usage}} page.
-
-%{snippet|id=buildnumber|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-svn-revision/pom.xml}
-
-** Configuring Maven Jar Plugin
-
-  The last configuration is to customize the default Manifest with a new entry for the SCM revision.
-
-%{snippet|id=jar|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-svn-revision/pom.xml}
-
-** Running Maven
-
-  Just call Maven to generate the package:
-
-+-----+
-mvn package
-+-----+
-
-  <<Note>>: You need to have committed your project into SVN.
-
-* Other Tips
-
-  You could tweak the Jar Plugin configuration into the War Plugin.
-
-* Resources
-
-  * Source code: {{{https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-svn-revision}https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-svn-revision}}
-
-  * {{{../../plugins/maven-jar-plugin/} Maven Jar Plugin}}
-
-  * {{{http://www.mojohaus.org/buildnumber-maven-plugin/} Mojo Buildnumber Maven Plugin}}
-
-  []
diff --git a/content/apt/plugin-developers/cookbook/attach-source-javadoc-artifacts.apt b/content/apt/plugin-developers/cookbook/attach-source-javadoc-artifacts.apt
deleted file mode 100644
index 8cd58ea3..00000000
--- a/content/apt/plugin-developers/cookbook/attach-source-javadoc-artifacts.apt
+++ /dev/null
@@ -1,95 +0,0 @@
- -----
- Cookbook - How to attach source and javadoc artifacts
- -----
- Vincent Siveton
- -----
- 2008-01-01
- -----
-
-~~ 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.
-
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/doxia/references/apt-format.html
-
-Cookbook: How to attach source and javadoc artifacts?
-
-* Summary
-
-  This recipe describes how to attach source and javadoc artifacts to your build.
-
-* Prerequisite Plugins
-
-  Here is the list of the plugins used:
-
-*-----------------------------------------------------------+--------------+
-|| <<Plugin>>                                               || <<Version>>
-*-----------------------------------------------------------+--------------+
-| {{{../../plugins/maven-source-plugin/} <<<source>>>}}     | 2.0.4
-*-----------------------------------------------------------+--------------+
-| {{{../../plugins/maven-javadoc-plugin/} <<<javadoc>>>}}   | 2.3
-*-----------------------------------------------------------+--------------+
-
-* Sample Generated Output
-
-+-----+
-
-attach-source-javadoc
-|-- pom.xml
-|-- src\
-`-- target
-    `-- attach-source-javadoc-1.0-SNAPSHOT.jar
-    `-- attach-source-javadoc-1.0-SNAPSHOT-javadoc.jar
-    `-- attach-source-javadoc-1.0-SNAPSHOT-sources.jar
-
-+-----+
-
-* Recipe
-
-** Configuring Maven Source Plugin
-
-  We execute the <<<{{{../../plugins/maven-source-plugin/jar-mojo.html}source:jar}}>>> goal from the source plugin during the <<<package>>> phase.
-
-%{snippet|id=source|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/attach-source-javadoc/pom.xml}
-
-** Configuring Maven Javadoc Plugin
-
-  Same thing for the <<<{{{../../plugins/maven-javadoc-plugin/jar-mojo.html}javadoc:jar}}>>> goal from the javadoc plugin.
-
-%{snippet|id=javadoc|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/attach-source-javadoc/pom.xml}
-
-** Running Maven
-
-  Just call Maven to generate the packages:
-
-+-----+
-mvn package
-+-----+
-
-* Other Tips
-
-  To improve the build time or for a release, you could also define these plugins in a profile.
-
-* Resources
-
-  * Source code: {{{https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/attach-source-javadoc}https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/attach-source-javadoc}}
-
-  * {{{../../plugins/maven-javadoc-plugin/} Maven Javadoc Plugin}}
-
-  * {{{../../plugins/maven-source-plugin/} Maven Source Plugin}}
-
-  []
diff --git a/content/apt/plugin-developers/cookbook/generate-assembly.apt b/content/apt/plugin-developers/cookbook/generate-assembly.apt
deleted file mode 100644
index 6cb1b2ac..00000000
--- a/content/apt/plugin-developers/cookbook/generate-assembly.apt
+++ /dev/null
@@ -1,94 +0,0 @@
- -----
- Cookbook - How To Generate Assembly
- -----
- Vincent Siveton
- -----
- 2008-01-01
- -----
-
-~~ 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.
-
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/doxia/references/apt-format.html
-
-Cookbook: How To Generate Assembly?
-
-* Summary
-
-  This recipe describes how to generate assembly like zip, tar.gz or tar.bz2.
-
-* Prerequisite Plugins
-
-  Here is the list of the plugins used:
-
-*-----------------------------------------------------------+--------------+
-|| <<Plugin>>                                               || <<Version>>
-*-----------------------------------------------------------+--------------+
-| {{{../../plugins/maven-assembly-plugin/} <<<assembly>>>}} | 2.4.1
-*-----------------------------------------------------------+--------------+
-
-* Sample Generated Output
-
-+-----+
-
-attach-source-javadoc
-|-- pom.xml
-|-- src\
-`-- target
-    `-- apache-maven-cookbook-1.0-SNAPSHOT-bin
-    `-- apache-maven-cookbook-1.0-SNAPSHOT-bin.tar.bz2
-    `-- apache-maven-cookbook-1.0-SNAPSHOT-bin.tar.gz
-    `-- apache-maven-cookbook-1.0-SNAPSHOT-bin.zip
-
-+-----+
-
-* Recipe
-
-** Configuring Assembly Descriptor
-
-  To generate an assembly, we need to configure an assembly descriptor called <<<bin.xml>>> in the <<<src/assembly>>> directory.
-  Firstly, we specify the wanted formats, i.e.
-
-%{snippet|id=formats|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-assembly/src/assembly/bin.xml}
-
-  And the wanted files sets, i.e.
-
-%{snippet|id=fileSets|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-assembly/src/assembly/bin.xml}
-
-** Configuring Maven Assembly Plugin
-
-  We execute the <<<{{{../../plugins/maven-assembly-plugin/single-mojo.html}assembly:single}}>>> goal from the Assembly plugin during the
-  <<<package>>> phase.
-
-%{snippet|id=assembly|url=https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-assembly/pom.xml}
-
-** Running Maven
-
-  Just call Maven to generate the packages:
-
-+-----+
-mvn package
-+-----+
-
-* Resources
-
-  * Source code: {{{https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-assembly}https://svn.apache.org/repos/asf/maven/sandbox/trunk/site/cookbook/generate-assembly}}
-
-  * {{{../../plugins/maven-assembly-plugin/}Maven Assembly Plugin }}
-
-  []
diff --git a/content/apt/plugin-developers/cookbook/index.apt b/content/apt/plugin-developers/cookbook/index.apt
index 824da15e..5c124d06 100644
--- a/content/apt/plugin-developers/cookbook/index.apt
+++ b/content/apt/plugin-developers/cookbook/index.apt
@@ -27,22 +27,9 @@
 ~~ NOTE: For help with the syntax of this file, see:
 ~~ http://maven.apache.org/doxia/references/apt-format.html
 
-Maven Plugins Cookbook
+Maven Extensions Cookbook
 
-  A set of small complete working examples projects that demonstrate how to use Maven Plugins.
-  It is based on commons how-to questions from the {{{../../mailing-lists.html}Maven User Mailing List}}.
-
-  <(Like to add more cookbooks? See {{{../../guides/development/guide-helping.html} How to Contribute}} page)>
-
-* How To/Recipes
-
-  * {{{./add-build-time-to-manifest.html}How to add build time to a JAR manifest?}}
-
-  * {{{./add-svn-revision-to-manifest.html}How to add SVN revision to a JAR manifest?}}
-
-  * {{{./attach-source-javadoc-artifacts.html}How to attach source and javadoc artifacts?}}
-
-  * {{{./generate-assembly.html}How to generate assembly?}}
+ Extensions are based on components, defined either with Plexus or JSR-330:
 
   * {{{./plexus-plugin-upgrade.html}How to upgrade from Plexus javadoc tags to Plexus Java annotations?}}
 
diff --git a/content/apt/plugin-developers/index.apt b/content/apt/plugin-developers/index.apt
index aa9b69d3..c9f55bc4 100644
--- a/content/apt/plugin-developers/index.apt
+++ b/content/apt/plugin-developers/index.apt
@@ -50,8 +50,6 @@ Plugin Developers Centre
 
   * TODO: creating and using custom packaging (like {{{/archetype/archetype-packaging/}<<<maven-archetype>>> packaging}})
 
-  * {{{./cookbook/index.html} Plugins Cookbook}} - Examples for how to perform common tasks in plugins
-
   * {{{./common-bugs.html} Common Bugs and Pitfalls}} - Overview of problematic coding patterns
 
   []
@@ -62,16 +60,20 @@ Plugin Developers Centre
 
   * {{{../developers/mojo-api-specification.html} Mojo API and Annotation Reference}}
 
+  * {{{/plugin-tools/examples/using-annotations.html} Maven Plugin Tools and annotations}}
+
   * {{{../ref/current/index.html} Maven API Reference}}
 
   * {{{../guides/mini/guide-maven-classloading.html} Maven Class Loading}}
 
   []
 
-* Examples
-
-  * {{{../examples/injecting-properties-via-settings.html}Injecting POM Properties via settings.xml}}
+* Extensions
 
   * {{{../examples/maven-3-lifecycle-extensions.html}Maven 3 lifecycle extensions}}
 
+  * {{{./cookbook/plexus-plugin-upgrade.html}How to upgrade from Plexus javadoc tags to Plexus Java annotations?}}
+
+  * {{{/maven-jsr330.html}Using JSR-330 (instead of Plexus Java annotations)}}
+
   []
diff --git a/content/site.xml b/content/site.xml
index 71180620..48af1457 100644
--- a/content/site.xml
+++ b/content/site.xml
@@ -145,17 +145,11 @@ under the License.
         <item name="Your First Report Mojo" href="/guides/plugin/guide-java-report-plugin-development.html" />
         <item name="Testing Plugins" href="/plugin-developers/plugin-testing.html" />
         <item name="Documenting Plugins" href="/plugin-developers/plugin-documenting.html" />
-        <item name="Plugins Cookbook" href="/plugin-developers/cookbook/index.html" collapse="true">
-          <item name="Build Time" href="/plugin-developers/cookbook/add-build-time-to-manifest.html" />
-          <item name="SVN Revision" href="/plugin-developers/cookbook/add-svn-revision-to-manifest.html" />
-          <item name="Attach Source + Javadoc" href="/plugin-developers/cookbook/attach-source-javadoc-artifacts.html" />
-          <item name="Assembly" href="/plugin-developers/cookbook/generate-assembly.html" />
-          <item name="Plexus Javadoc to Plexus Annotations" href="/plugin-developers/cookbook/plexus-plugin-upgrade.html" />
-          <item name="Using JSR-330" href="/maven-jsr330.html" />
-        </item>
         <item name="Mojo API" href="/developers/mojo-api-specification.html" />
         <item name="Common Bugs and Pitfalls" href="/plugin-developers/common-bugs.html" />
         <item name="Maven Lifecycle Extensions" href="/examples/maven-3-lifecycle-extensions.html" />
+        <item name="Plexus Javadoc to Plexus Annotations" href="/plugin-developers/cookbook/plexus-plugin-upgrade.html" />
+        <item name="Using JSR-330" href="/maven-jsr330.html" />
       </item>
       <item name="Maven Central Repository" href="/repository/index.html" collapse="true">
         <item name="Maintaining your Metadata" href="/project-faq.html" />
diff --git a/content/xdoc/developers/mojo-api-specification.xml b/content/xdoc/developers/mojo-api-specification.xml
index 3fa8cf6e..a6216fde 100644
--- a/content/xdoc/developers/mojo-api-specification.xml
+++ b/content/xdoc/developers/mojo-api-specification.xml
@@ -29,7 +29,7 @@ under the License.
     <section name="Introduction">
       <p>Maven plugins can be written in Java or any of a
         number of scripting languages. Plugins consists of one or more Mojos,
-        each one being the implementation for one of the plugin's goals.
+        each one being the implementation for one of the plugin's <b>goals</b>.
         Maven tries to stay out of
         the way of the programmer with its new Mojo API. This opens up the
         opportunity for many Mojos to be reused outside of Maven, or bridged
@@ -55,32 +55,25 @@ under the License.
       <p>While this will satisfy the requirements for execution as a Mojo
         inside Maven, it is recommended that Mojos implement
          --> Basically, these Mojo requirements are embodied by the
-        <a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/Mojo.html"><code>org.apache.maven.plugin.Mojo</code></a>
-        interface, which the Mojo
-        must implement (or else extend its abstract base class counterpart
-        <a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/AbstractMojo.html"><code>org.apache.maven.plugin.AbstractMojo</code></a>
-        ). This interface
+        <a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/Mojo.html"><code>org.apache.maven.plugin.Mojo</code> interface</a>, which the Mojo
+        must implement (or else extend its
+        <a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/AbstractMojo.html">abstract base class counterpart <code>org.apache.maven.plugin.AbstractMojo</code></a>).
+        This interface
         guarantees the correct execution contract for the Mojo: no parameters,
         void return type, and a throws clause that allows only
         <a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/MojoExecutionException.html"><code>org.apache.maven.plugin.MojoExecutionException</code></a>
         and its
         derivatives. It also guarantees that the Mojo will have access to the
         standard Maven user-feedback mechanism,
-        <a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/logging/Log.html"><code>org.apache.maven.plugin.logging.Log</code></a>
-        , so the Mojo can
-        communicate important events to the console or other log sink.<!-- Using the
-        Plugin/Mojo API will give that Mojo access to the Maven-integrated Log,
-        along with tighter integration into the Maven build. -->
+        <a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/logging/Log.html"><code>org.apache.maven.plugin.logging.Log</code></a>,
+        so the Mojo can communicate important events to the console or other log sink.
       </p>
       <p>As mentioned before, each Plugin - or packaged set of Mojos - must
-        provide a descriptor called
-        <a href="/ref/current/maven-plugin-api/plugin.html"><code>plugin.xml</code></a>
-        under the path
-        <code>META-INF/maven</code>
+        provide a <a href="/ref/current/maven-plugin-api/plugin.html"><code>META-INF/maven/plugin.xml</code> descriptor file</a>
         inside the Plugin jar file. Fortunately,
         Maven also provides a set of Javadoc annotations
         (named <a href="/plugin-tools/maven-plugin-tools-java/index.html">Mojo Javadoc Tags</a>),
-        Java 5 annotations
+        Java annotations
         (named <a href="/plugin-tools/maven-plugin-tools-annotations/index.html">Maven Plugin Tools Java5 Annotations</a>)
         and tools (named <a href="/plugin-tools/">plugin-tools</a>) to generate
         this descriptor, so developers don't have to worry about directly