You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by bu...@apache.org on 2013/04/27 09:29:25 UTC

svn commit: r860084 [30/39] - in /websites/staging/maven/trunk/content: ./ background/ developers/ developers/conventions/ developers/release/ developers/website/ docs/2.0.1/ docs/2.0.10/ docs/2.0.11/ docs/2.0.2/ docs/2.0.3/ docs/2.0.4/ docs/2.0.5/ doc...

Modified: websites/staging/maven/trunk/content/plugin-developers/cookbook/plexus-plugin-upgrade.html
==============================================================================
--- websites/staging/maven/trunk/content/plugin-developers/cookbook/plexus-plugin-upgrade.html (original)
+++ websites/staging/maven/trunk/content/plugin-developers/cookbook/plexus-plugin-upgrade.html Sat Apr 27 07:29:22 2013
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- | Generated by Apache Maven Doxia at Apr 23, 2013
+ | Generated by Apache Maven Doxia at Apr 27, 2013
  | Rendered using Apache Maven Stylus Skin 1.5
 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -14,7 +14,7 @@
     <link rel="stylesheet" href="../../css/print.css" type="text/css" media="print" />
         <meta name="author" content="Hervé Boutemy" />
         <meta name="Date-Creation-yyyymmdd" content="20120602" />
-    <meta name="Date-Revision-yyyymmdd" content="20130423" />
+    <meta name="Date-Revision-yyyymmdd" content="20130427" />
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                                                     
 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
@@ -44,7 +44,7 @@
         Cookbook - How To Upgrade from Plexus Javadoc Tags to Plexus Java Annotations
         </div>
             <div class="xright">        
-                                    Last Published: 2013-04-23
+                                    Last Published: 2013-04-27
             </div>
       <div class="clear">
         <hr/>
@@ -232,7 +232,73 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2>Cookbook: How To Upgrade from Plexus Javadoc Tags to Plexus Java Annotations?<a name="Cookbook:_How_To_Upgrade_from_Plexus_Javadoc_Tags_to_Plexus_Java_Annotations"></a></h2><div class="section"><h3>Summary<a name="Summary"></a></h3><p>This recipe describes how to upgrade from Plexus Javadoc Tags to Plexus Java Annotations, in 2 steps:</p><ol style="list-style-type: decimal"><li>replace the deprecated <a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/"><tt>plexus-maven-plugin</tt></a>, which only supports Plexus Javadoc Tags, with its successor: <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/"><tt>plexus-component-metadata</tt></a>, which support both Plexus Javadoc Tags and Plexus Java Annotations,</li><li>update sources with <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">Java Annotations for Plexus</a>.<
 /li></ol></div><div class="section"><h3>Prerequisite Plugins<a name="Prerequisite_Plugins"></a></h3><p>Here is the list of the plugins used:</p><table border="1" class="bodyTable"><tr class="a"><th align="left"><b>Plugin</b></th><th align="left"><b>Version</b></th></tr><tr class="b"><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/"><tt>plexus-maven-plugin</tt></a></td><td align="left">1.3.8</td></tr><tr class="a"><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/"><tt>plexus-component-metadata</tt></a></td><td align="left">1.5.5</td></tr></table></div><div class="section"><h3>Equivalence Table<a name="Equivalence_Table"></a></h3><table border="1" class="bodyTable"><tr class="a"><td align="center"></td><th align="center"><b>plexus-maven-plugin</b></th><th align="center"><b>plexus-component-metadata</b></th></tr><tr class="b"><td align="left"></td><td align="left">
 <a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/">project</a> / <a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/plugin-info.html">plugin info</a></td><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/">project</a> / <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/plugin-info.html">plugin info</a></td></tr><tr class="a"><th align="left">latest</th><td align="left">1.3.8</td><td align="left">1.5.5</td></tr><tr class="b"><th align="left">phase</th><td align="left">process-sources</td><td align="left">process-classes</td></tr><tr class="a"><th align="left">goals</th><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/descriptor-mojo.html"><tt>descriptor</tt></a></td><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexu
 s-component-metadata/generate-metadata-mojo.html"><tt>generate-metadata</tt></a></td></tr><tr class="b"><td align="left"></td><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/merge-descriptors-mojo.html"><tt>merge-descriptors</tt></a></td><td align="left">see <tt>staticMetadataDirectory</tt> parameter &#xa0;<br />default: <tt>${basedir}/src/main/resources/META-INF/plexus</tt></td></tr><tr class="a"><td align="left"></td><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/test-descriptor-mojo.html"><tt>test-descriptor</tt></a></td><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/generate-test-metadata-mojo.html"><tt>generate-test-metadata</tt></a></td></tr><tr class="b"><td align="left"></td><td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/test-merge-descriptors-mojo.html"><tt>t
 est-merge-descriptors</tt></a></td><td align="left">see <tt>testStaticMetadataDirectory</tt> parameter &#xa0;<br />default: <tt>${basedir}/src/test/resources/META-INF/plexus</tt></td></tr><tr class="a"><th align="left">source annotations</th><td align="left">javadoc tags: &#xa0;<br /><tt>@plexus.component</tt>, <tt>@plexus.requirement</tt>, <tt>@plexus.configuration</tt> &#xa0;</td><td align="left">javadoc tags + <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/"><tt>plexus-component-annotations</tt></a> Java 5 annotations:&#xa0;<br /><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/apidocs/org/codehaus/plexus/component/annotations/Component.html"><tt>@Component</tt></a>, <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/apidocs/org/codehaus/plexus/component/annotations/Requirement.html"><tt>@Requirement</tt></a>,
  <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/apidocs/org/codehaus/plexus/component/annotations/Configuration.html"><tt>@Configuration</tt></a>,</td></tr></table></div><div class="section"><h3>Recipe<a name="Recipe"></a></h3><div class="section"><h4>Plugin Configuration<a name="Plugin_Configuration"></a></h4><p>In your <tt>pom.xml</tt>, replace <tt>plexus-maven-plugin</tt> configuration:</p><div class="source"><pre>&lt;project&gt;
+        <div class="section">
+<h2>Cookbook: How To Upgrade from Plexus Javadoc Tags to Plexus Java Annotations?<a name="Cookbook:_How_To_Upgrade_from_Plexus_Javadoc_Tags_to_Plexus_Java_Annotations"></a></h2>
+<div class="section">
+<h3>Summary<a name="Summary"></a></h3>
+<p>This recipe describes how to upgrade from Plexus Javadoc Tags to Plexus Java Annotations, in 2 steps:</p>
+<ol style="list-style-type: decimal">
+<li>replace the deprecated <a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/"><tt>plexus-maven-plugin</tt></a>, which only supports Plexus Javadoc Tags, with its successor: <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/"><tt>plexus-component-metadata</tt></a>, which support both Plexus Javadoc Tags and Plexus Java Annotations,</li>
+<li>update sources with <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/">Java Annotations for Plexus</a>.</li></ol></div>
+<div class="section">
+<h3>Prerequisite Plugins<a name="Prerequisite_Plugins"></a></h3>
+<p>Here is the list of the plugins used:</p>
+<table border="1" class="bodyTable">
+<tr class="a">
+<th align="left"><b>Plugin</b></th>
+<th align="left"><b>Version</b></th></tr>
+<tr class="b">
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/"><tt>plexus-maven-plugin</tt></a></td>
+<td align="left">1.3.8</td></tr>
+<tr class="a">
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/"><tt>plexus-component-metadata</tt></a></td>
+<td align="left">1.5.5</td></tr></table></div>
+<div class="section">
+<h3>Equivalence Table<a name="Equivalence_Table"></a></h3>
+<table border="1" class="bodyTable">
+<tr class="a">
+<td align="center"></td>
+<th align="center"><b>plexus-maven-plugin</b></th>
+<th align="center"><b>plexus-component-metadata</b></th></tr>
+<tr class="b">
+<td align="left"></td>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/">project</a> / <a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/plugin-info.html">plugin info</a></td>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/">project</a> / <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/plugin-info.html">plugin info</a></td></tr>
+<tr class="a">
+<th align="left">latest</th>
+<td align="left">1.3.8</td>
+<td align="left">1.5.5</td></tr>
+<tr class="b">
+<th align="left">phase</th>
+<td align="left">process-sources</td>
+<td align="left">process-classes</td></tr>
+<tr class="a">
+<th align="left">goals</th>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/descriptor-mojo.html"><tt>descriptor</tt></a></td>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/generate-metadata-mojo.html"><tt>generate-metadata</tt></a></td></tr>
+<tr class="b">
+<td align="left"></td>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/merge-descriptors-mojo.html"><tt>merge-descriptors</tt></a></td>
+<td align="left">see <tt>staticMetadataDirectory</tt> parameter &#xa0;<br />default: <tt>${basedir}/src/main/resources/META-INF/plexus</tt></td></tr>
+<tr class="a">
+<td align="left"></td>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/test-descriptor-mojo.html"><tt>test-descriptor</tt></a></td>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-metadata/generate-test-metadata-mojo.html"><tt>generate-test-metadata</tt></a></td></tr>
+<tr class="b">
+<td align="left"></td>
+<td align="left"><a class="externalLink" href="http://plexus.codehaus.org/plexus-maven-plugin/test-merge-descriptors-mojo.html"><tt>test-merge-descriptors</tt></a></td>
+<td align="left">see <tt>testStaticMetadataDirectory</tt> parameter &#xa0;<br />default: <tt>${basedir}/src/test/resources/META-INF/plexus</tt></td></tr>
+<tr class="a">
+<th align="left">source annotations</th>
+<td align="left">javadoc tags: &#xa0;<br /><tt>@plexus.component</tt>, <tt>@plexus.requirement</tt>, <tt>@plexus.configuration</tt> &#xa0;</td>
+<td align="left">javadoc tags + <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/"><tt>plexus-component-annotations</tt></a> Java 5 annotations:&#xa0;<br /><a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/apidocs/org/codehaus/plexus/component/annotations/Component.html"><tt>@Component</tt></a>, <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/apidocs/org/codehaus/plexus/component/annotations/Requirement.html"><tt>@Requirement</tt></a>, <a class="externalLink" href="http://plexus.codehaus.org/plexus-containers/plexus-component-annotations/apidocs/org/codehaus/plexus/component/annotations/Configuration.html"><tt>@Configuration</tt></a>,</td></tr></table></div>
+<div class="section">
+<h3>Recipe<a name="Recipe"></a></h3>
+<div class="section">
+<h4>Plugin Configuration<a name="Plugin_Configuration"></a></h4>
+<p>In your <tt>pom.xml</tt>, replace <tt>plexus-maven-plugin</tt> configuration:</p>
+<div class="source">
+<pre>&lt;project&gt;
   &lt;build&gt;
     &lt;plugins&gt;
       &lt;plugin&gt;
@@ -248,7 +314,10 @@
         &lt;/executions&gt;
       &lt;/plugin&gt;
   &lt;/build&gt;
-&lt;/project&gt;</pre></div><p>with corresponding <tt>plexus-component-metadata</tt> configuration:</p><div class="source"><pre>&lt;project&gt;
+&lt;/project&gt;</pre></div>
+<p>with corresponding <tt>plexus-component-metadata</tt> configuration:</p>
+<div class="source">
+<pre>&lt;project&gt;
   &lt;build&gt;
     &lt;plugins&gt;
       &lt;plugin&gt;
@@ -264,7 +333,13 @@
         &lt;/executions&gt;
       &lt;/plugin&gt;
   &lt;/build&gt;
-&lt;/project&gt;</pre></div><p>If <tt>merge-descriptors</tt> is used, move the handwritten xml file to <tt>${basedir}/src/main/resources/META-INF/plexus</tt>.</p></div><div class="section"><h4>Replacing Plexus Javadoc Tags with Plexus Java 5 Annotations<a name="Replacing_Plexus_Javadoc_Tags_with_Plexus_Java_5_Annotations"></a></h4><p>In your <tt>pom.xml</tt>, add <tt>plexus-component-annotations</tt> dependency:</p><div class="source"><pre>&lt;project&gt;
+&lt;/project&gt;</pre></div>
+<p>If <tt>merge-descriptors</tt> is used, move the handwritten xml file to <tt>${basedir}/src/main/resources/META-INF/plexus</tt>.</p></div>
+<div class="section">
+<h4>Replacing Plexus Javadoc Tags with Plexus Java 5 Annotations<a name="Replacing_Plexus_Javadoc_Tags_with_Plexus_Java_5_Annotations"></a></h4>
+<p>In your <tt>pom.xml</tt>, add <tt>plexus-component-annotations</tt> dependency:</p>
+<div class="source">
+<pre>&lt;project&gt;
   &lt;dependencies&gt;
     &lt;dependency&gt;
       &lt;groupId&gt;org.codehaus.plexus&lt;/groupId&gt;
@@ -272,7 +347,10 @@
       &lt;version&gt;1.5.5&lt;/version&gt;
     &lt;/dependency&gt;
   &lt;/dependencies&gt;
-&lt;/project&gt;</pre></div><p>In your java sources, replace javadoc tags:</p><div class="source"><pre>/**
+&lt;/project&gt;</pre></div>
+<p>In your java sources, replace javadoc tags:</p>
+<div class="source">
+<pre>/**
  * @plexus.component role=&quot;foo.MyComponent&quot; role-hint=&quot;hint-value&quot;
  */
 public class MyComponentImplementation
@@ -282,7 +360,10 @@ public class MyComponentImplementation
      * @plexus.requirement
      */
     private InjectedComponent;
-}</pre></div><p>with corresponding Java 5 annotations</p><div class="source"><pre>import org.codehaus.plexus.component.annotations.Component;
+}</pre></div>
+<p>with corresponding Java 5 annotations</p>
+<div class="source">
+<pre>import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 
 @Component( role = MyComponent.class, hint = &quot;hint-value&quot; )

Modified: websites/staging/maven/trunk/content/plugin-developers/index.html
==============================================================================
--- websites/staging/maven/trunk/content/plugin-developers/index.html (original)
+++ websites/staging/maven/trunk/content/plugin-developers/index.html Sat Apr 27 07:29:22 2013
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- | Generated by Apache Maven Doxia at Apr 23, 2013
+ | Generated by Apache Maven Doxia at Apr 27, 2013
  | Rendered using Apache Maven Stylus Skin 1.5
 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -13,7 +13,7 @@
     </style>
     <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
         <meta name="author" content="Brett Porter" />
-        <meta name="Date-Revision-yyyymmdd" content="20130423" />
+        <meta name="Date-Revision-yyyymmdd" content="20130427" />
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                                                     
 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
@@ -43,7 +43,7 @@
         Plugin Developers Centre
         </div>
             <div class="xright">        
-                                    Last Published: 2013-04-23
+                                    Last Published: 2013-04-27
             </div>
       <div class="clear">
         <hr/>
@@ -242,7 +242,27 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <div class="section"><h2>Plugin Developers Centre<a name="Plugin_Developers_Centre"></a></h2><p>This documentation centre is for those that are developing Maven plugins. This might be for your own build, or as an accompaniment to your third party tool.</p><!-- TODO: callout --><p><b>What is a Mojo?</b> A mojo is a <b>M</b>aven plain <b>O</b>ld <b>J</b>ava <b>O</b>bject. Each mojo is an executable <i>goal</i> in Maven, and a plugin is a distribution of one or more related mojos.</p><!-- TODO: tasks as buttons? --><ul><li><a href="../guides/plugin/guide-java-plugin-development.html"> Your First Mojo</a> - Learn how to write your first plugin</li><li><a href="./plugin-testing.html"> Testing your Plugin</a> - How to write tests for your plugins</li><li><a href="./plugin-documenting.html"> Documenting your Plugin</a> - How to write documentation for your plugins</li><li><a href="./cookbook/index.html"> Plugins Cookbook</a> - Examples for how to perform common tasks in plu
 gins</li><li><a href="./common-bugs.html"> Common Bugs and Pitfalls</a> - Overview of problematic coding patterns</li></ul><!-- TODO: trails --><div class="section"><h3>Reference<a name="Reference"></a></h3><ul><li><a href="../developers/mojo-api-specification.html"> Mojo API and Annotation Reference</a></li><li><a href="../ref/current/index.html"> Maven API Reference</a></li><li><a href="../guides/mini/guide-maven-classloading.html"> Maven Class Loading</a></li></ul></div><div class="section"><h3>Examples<a name="Examples"></a></h3><ul><li><a href="../examples/injecting-properties-via-settings.html">Injecting POM Properties via settings.xml</a></li><li><a href="../examples/maven-3-lifecycle-extensions.html">Maven 3 lifecycle extensions</a></li></ul></div></div>
+        <div class="section">
+<h2>Plugin Developers Centre<a name="Plugin_Developers_Centre"></a></h2>
+<p>This documentation centre is for those that are developing Maven plugins. This might be for your own build, or as an accompaniment to your third party tool.</p><!-- TODO: callout -->
+<p><b>What is a Mojo?</b> A mojo is a <b>M</b>aven plain <b>O</b>ld <b>J</b>ava <b>O</b>bject. Each mojo is an executable <i>goal</i> in Maven, and a plugin is a distribution of one or more related mojos.</p><!-- TODO: tasks as buttons? -->
+<ul>
+<li><a href="../guides/plugin/guide-java-plugin-development.html"> Your First Mojo</a> - Learn how to write your first plugin</li>
+<li><a href="./plugin-testing.html"> Testing your Plugin</a> - How to write tests for your plugins</li>
+<li><a href="./plugin-documenting.html"> Documenting your Plugin</a> - How to write documentation for your plugins</li>
+<li><a href="./cookbook/index.html"> Plugins Cookbook</a> - Examples for how to perform common tasks in plugins</li>
+<li><a href="./common-bugs.html"> Common Bugs and Pitfalls</a> - Overview of problematic coding patterns</li></ul><!-- TODO: trails -->
+<div class="section">
+<h3>Reference<a name="Reference"></a></h3>
+<ul>
+<li><a href="../developers/mojo-api-specification.html"> Mojo API and Annotation Reference</a></li>
+<li><a href="../ref/current/index.html"> Maven API Reference</a></li>
+<li><a href="../guides/mini/guide-maven-classloading.html"> Maven Class Loading</a></li></ul></div>
+<div class="section">
+<h3>Examples<a name="Examples"></a></h3>
+<ul>
+<li><a href="../examples/injecting-properties-via-settings.html">Injecting POM Properties via settings.xml</a></li>
+<li><a href="../examples/maven-3-lifecycle-extensions.html">Maven 3 lifecycle extensions</a></li></ul></div></div>
       </div>
     </div>
     <div class="clear">

Modified: websites/staging/maven/trunk/content/plugin-developers/plugin-documenting.html
==============================================================================
--- websites/staging/maven/trunk/content/plugin-developers/plugin-documenting.html (original)
+++ websites/staging/maven/trunk/content/plugin-developers/plugin-documenting.html Sat Apr 27 07:29:22 2013
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- | Generated by Apache Maven Doxia at Apr 23, 2013
+ | Generated by Apache Maven Doxia at Apr 27, 2013
  | Rendered using Apache Maven Stylus Skin 1.5
 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -13,7 +13,7 @@
     </style>
     <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
         <meta name="author" content="Vincent Siveton" />
-        <meta name="Date-Revision-yyyymmdd" content="20130423" />
+        <meta name="Date-Revision-yyyymmdd" content="20130427" />
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                                                     
 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
@@ -43,7 +43,7 @@
         Developers centre - Documentation Plugins Strategies
         </div>
             <div class="xright">        
-                                    Last Published: 2013-04-23
+                                    Last Published: 2013-04-27
             </div>
       <div class="clear">
         <hr/>
@@ -231,7 +231,19 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <!-- 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/referen
 ces/apt-format.html --><div class="section"><h2>Introduction<a name="Introduction"></a></h2><p>A <a href="../guides/development/guide-plugin-documentation.html">Guide to the Plugin Documentation Standard</a> was created. This document is intended to verify it during the Plugins development.</p></div><div class="section"><h2>Verify Plugin Documentation<a name="Verify_Plugin_Documentation"></a></h2><p>The <a href="../plugins/maven-docck-plugin">maven-docck-plugin</a> checks that a project complies with the Plugin Documentation Standard.</p><p>You <b>should</b> verify that all Plugin documentation respects this standard. The maven-docck-plugin can be run:</p><div class="source"><pre>mvn docck:check</pre></div></div><div class="section"><h2>References<a name="References"></a></h2><ul><li><a class="externalLink" href="http://cwiki.apache.org/confluence/display/MAVENOLD/Maven+Plugin+Documentation">Maven Plugin Documentation</a></li></ul></div>
+        <!-- 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/referen
 ces/apt-format.html --><div class="section">
+<h2>Introduction<a name="Introduction"></a></h2>
+<p>A <a href="../guides/development/guide-plugin-documentation.html">Guide to the Plugin Documentation Standard</a> was created. This document is intended to verify it during the Plugins development.</p></div>
+<div class="section">
+<h2>Verify Plugin Documentation<a name="Verify_Plugin_Documentation"></a></h2>
+<p>The <a href="../plugins/maven-docck-plugin">maven-docck-plugin</a> checks that a project complies with the Plugin Documentation Standard.</p>
+<p>You <b>should</b> verify that all Plugin documentation respects this standard. The maven-docck-plugin can be run:</p>
+<div class="source">
+<pre>mvn docck:check</pre></div></div>
+<div class="section">
+<h2>References<a name="References"></a></h2>
+<ul>
+<li><a class="externalLink" href="http://cwiki.apache.org/confluence/display/MAVENOLD/Maven+Plugin+Documentation">Maven Plugin Documentation</a></li></ul></div>
       </div>
     </div>
     <div class="clear">

Modified: websites/staging/maven/trunk/content/plugin-developers/plugin-testing.html
==============================================================================
--- websites/staging/maven/trunk/content/plugin-developers/plugin-testing.html (original)
+++ websites/staging/maven/trunk/content/plugin-developers/plugin-testing.html Sat Apr 27 07:29:22 2013
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- | Generated by Apache Maven Doxia at Apr 23, 2013
+ | Generated by Apache Maven Doxia at Apr 27, 2013
  | Rendered using Apache Maven Stylus Skin 1.5
 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -13,7 +13,7 @@
     </style>
     <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
         <meta name="author" content="Vincent Siveton" />
-        <meta name="Date-Revision-yyyymmdd" content="20130423" />
+        <meta name="Date-Revision-yyyymmdd" content="20130427" />
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                                                     
 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
@@ -43,7 +43,7 @@
         Developers centre - Testing Plugins Strategies
         </div>
             <div class="xright">        
-                                    Last Published: 2013-04-23
+                                    Last Published: 2013-04-27
             </div>
       <div class="clear">
         <hr/>
@@ -231,7 +231,32 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <!-- 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/referen
 ces/apt-format.html --><div class="section"><h2>Introduction<a name="Introduction"></a></h2><p>Currently, Maven only supports unit testing out of the box. This document is intended to help Maven Developers to test Plugins with Unit Tests, Integration Tests or Functional tests.</p><p><b>Note: There are a lot of different ways to test a Maven plugin.</b> For a review of different strategies and tools, please refer to <a class="externalLink" href="http://docs.codehaus.org/display/MAVENUSER/Review+of+Plugin+Testing+Strategies">Review of Plugin Testing Strategies</a></p></div><div class="section"><h2>Testing Styles: Unit Testing vs. Functional/Integration Testing<a name="Testing_Styles:_Unit_Testing_vs._FunctionalIntegration_Testing"></a></h2><p>A unit test attempts to verify a mojo as an isolated unit, by mocking out the rest of the Maven environment. A mojo unit test does not attempt to run your plugin in the context of a real Maven build. Unit tests are designed to be fast.</p
 ><p>A functional/integration test attempts to use a mojo in a real Maven build, by launching a real instance of Maven in a real project. Normally this requires you to construct special dummy Maven projects with real POM files. Often this requires you to have already installed your plugin into your local repository so it can be used in a real Maven build. Functional tests run much more slowly than unit tests, but they can catch bugs that you may not catch with unit tests.</p><p>The general wisdom is that your code should be mostly tested with unit tests, but should also have some functional tests.</p></div><div class="section"><h2>Unit Tests<a name="Unit_Tests"></a></h2><div class="section"><h3>Using JUnit alone<a name="Using_JUnit_alone"></a></h3><p>In principle, you can write a unit test of a plugin Mojo the same way you'd write any other JUnit test case, by writing a class that <tt>extends TestCase</tt>.</p><p>However, most mojos need more information to work properly. For
  example, you'll probably need to inject a reference to a MavenProject, so your mojo can query project variables.</p></div><div class="section"><h3>Using PlexusTestCase<a name="Using_PlexusTestCase"></a></h3><p>Mojo variables are injected using Plexus, and many Mojos are written to take specific advantage of the Plexus container (by executing a lifecycle or having various injected dependencies).</p><p>If you all you need is Plexus container services, you can write your class with <tt>extends PlexusTestCase</tt> instead of TestCase.</p><p>With that said, if you need to inject Maven objects into your mojo, you'll probably prefer to use the maven-plugin-testing-harness.</p></div><div class="section"><h3>maven-plugin-testing-harness<a name="maven-plugin-testing-harness"></a></h3><p>The <a href="/plugin-testing/maven-plugin-testing-harness/">maven-plugin-testing-harness</a> is explicitly intended to test the <tt>org.apache.maven.reporting.AbstractMavenReport#execute()</tt> implem
 entation.</p><p>In general, you need to include <tt>maven-plugin-testing-harness</tt> as dependency, and create a *MojoTest (by convention) class which <tt>extends AbstractMojoTestCase</tt>.</p><div class="source"><pre>...
+        <!-- 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/referen
 ces/apt-format.html --><div class="section">
+<h2>Introduction<a name="Introduction"></a></h2>
+<p>Currently, Maven only supports unit testing out of the box. This document is intended to help Maven Developers to test Plugins with Unit Tests, Integration Tests or Functional tests.</p>
+<p><b>Note: There are a lot of different ways to test a Maven plugin.</b> For a review of different strategies and tools, please refer to <a class="externalLink" href="http://docs.codehaus.org/display/MAVENUSER/Review+of+Plugin+Testing+Strategies">Review of Plugin Testing Strategies</a></p></div>
+<div class="section">
+<h2>Testing Styles: Unit Testing vs. Functional/Integration Testing<a name="Testing_Styles:_Unit_Testing_vs._FunctionalIntegration_Testing"></a></h2>
+<p>A unit test attempts to verify a mojo as an isolated unit, by mocking out the rest of the Maven environment. A mojo unit test does not attempt to run your plugin in the context of a real Maven build. Unit tests are designed to be fast.</p>
+<p>A functional/integration test attempts to use a mojo in a real Maven build, by launching a real instance of Maven in a real project. Normally this requires you to construct special dummy Maven projects with real POM files. Often this requires you to have already installed your plugin into your local repository so it can be used in a real Maven build. Functional tests run much more slowly than unit tests, but they can catch bugs that you may not catch with unit tests.</p>
+<p>The general wisdom is that your code should be mostly tested with unit tests, but should also have some functional tests.</p></div>
+<div class="section">
+<h2>Unit Tests<a name="Unit_Tests"></a></h2>
+<div class="section">
+<h3>Using JUnit alone<a name="Using_JUnit_alone"></a></h3>
+<p>In principle, you can write a unit test of a plugin Mojo the same way you'd write any other JUnit test case, by writing a class that <tt>extends TestCase</tt>.</p>
+<p>However, most mojos need more information to work properly. For example, you'll probably need to inject a reference to a MavenProject, so your mojo can query project variables.</p></div>
+<div class="section">
+<h3>Using PlexusTestCase<a name="Using_PlexusTestCase"></a></h3>
+<p>Mojo variables are injected using Plexus, and many Mojos are written to take specific advantage of the Plexus container (by executing a lifecycle or having various injected dependencies).</p>
+<p>If you all you need is Plexus container services, you can write your class with <tt>extends PlexusTestCase</tt> instead of TestCase.</p>
+<p>With that said, if you need to inject Maven objects into your mojo, you'll probably prefer to use the maven-plugin-testing-harness.</p></div>
+<div class="section">
+<h3>maven-plugin-testing-harness<a name="maven-plugin-testing-harness"></a></h3>
+<p>The <a href="/plugin-testing/maven-plugin-testing-harness/">maven-plugin-testing-harness</a> is explicitly intended to test the <tt>org.apache.maven.reporting.AbstractMavenReport#execute()</tt> implementation.</p>
+<p>In general, you need to include <tt>maven-plugin-testing-harness</tt> as dependency, and create a *MojoTest (by convention) class which <tt>extends AbstractMojoTestCase</tt>.</p>
+<div class="source">
+<pre>...
   &lt;dependencies&gt;
     ...
     &lt;dependency&gt;
@@ -242,7 +267,9 @@
     &lt;/dependency&gt;
     ...
   &lt;/dependencies&gt;
-...</pre></div><div class="source"><pre>public class YourMojoTest
+...</pre></div>
+<div class="source">
+<pre>public class YourMojoTest
     extends AbstractMojoTestCase
 {
     /**
@@ -266,7 +293,16 @@
 
         assertNotNull( mojo );
     }
-}</pre></div><p>For more information, please refer to <a class="externalLink" href="http://cwiki.apache.org/confluence/display/MAVENOLD/Maven+Plugin+Harness">Maven Plugin Harness Wiki</a></p></div></div><div class="section"><h2>Integration/Functional testing<a name="IntegrationFunctional_testing"></a></h2><div class="section"><h3>maven-verifier<a name="maven-verifier"></a></h3><p>maven-verifier tests are run using JUnit or TestNG, and provide a simple class allowing you to launch Maven and assert on its log file and built artifacts. It also provides a ResourceExtractor, which extracts a Maven project from your src/test/resources directory into a temporary working directory where you can do tricky stuff with it.</p><p>Maven itself uses maven-verifier to run its core integration tests. For more information, please refer to <a class="externalLink" href="http://cwiki.apache.org/confluence/display/MAVENOLD/Creating+a+Maven+Integration+Test">Creating a Maven Integration Test</a>.<
 /p><div class="source"><pre>public class TrivialMavenVerifierTest extends TestCase
+}</pre></div>
+<p>For more information, please refer to <a class="externalLink" href="http://cwiki.apache.org/confluence/display/MAVENOLD/Maven+Plugin+Harness">Maven Plugin Harness Wiki</a></p></div></div>
+<div class="section">
+<h2>Integration/Functional testing<a name="IntegrationFunctional_testing"></a></h2>
+<div class="section">
+<h3>maven-verifier<a name="maven-verifier"></a></h3>
+<p>maven-verifier tests are run using JUnit or TestNG, and provide a simple class allowing you to launch Maven and assert on its log file and built artifacts. It also provides a ResourceExtractor, which extracts a Maven project from your src/test/resources directory into a temporary working directory where you can do tricky stuff with it.</p>
+<p>Maven itself uses maven-verifier to run its core integration tests. For more information, please refer to <a class="externalLink" href="http://cwiki.apache.org/confluence/display/MAVENOLD/Creating+a+Maven+Integration+Test">Creating a Maven Integration Test</a>.</p>
+<div class="source">
+<pre>public class TrivialMavenVerifierTest extends TestCase
 {
     public void testMyPlugin ()
         throws Exception
@@ -325,7 +361,13 @@
          * plenty of examples in the core-it tests here:
          * http://svn.apache.org/repos/asf/maven/core-integration-testing/trunk
          */
-    }</pre></div><p><b>Note</b>: maven-verifier and maven-verifier-plugin sound similar, but are totally different unrelated pieces of code. maven-verifier-plugin simply verifies the existence/absence of files on the filesystem. You could use it for functional testing, but you may need more features than maven-verifier-plugin provides.</p></div><div class="section"><h3>maven-invoker-plugin<a name="maven-invoker-plugin"></a></h3><p>You can use <a class="externalLink" href="https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-invoker-plugin/">maven-invoker-plugin</a> to invoke Maven and to provide some BeanShell tests. Tests written in this way don't run under JUnit/TestNG; instead, they're run by Maven itself.</p><div class="source"><pre>&lt;project
+    }</pre></div>
+<p><b>Note</b>: maven-verifier and maven-verifier-plugin sound similar, but are totally different unrelated pieces of code. maven-verifier-plugin simply verifies the existence/absence of files on the filesystem. You could use it for functional testing, but you may need more features than maven-verifier-plugin provides.</p></div>
+<div class="section">
+<h3>maven-invoker-plugin<a name="maven-invoker-plugin"></a></h3>
+<p>You can use <a class="externalLink" href="https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-invoker-plugin/">maven-invoker-plugin</a> to invoke Maven and to provide some BeanShell tests. Tests written in this way don't run under JUnit/TestNG; instead, they're run by Maven itself.</p>
+<div class="source">
+<pre>&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
@@ -358,7 +400,18 @@
     &lt;/plugins&gt;
   &lt;/build&gt;
   ...
-&lt;/project&gt;</pre></div></div><div class="section"><h3>shitty-maven-plugin<a name="shitty-maven-plugin"></a></h3><p>The <a class="externalLink" href="http://mojo.codehaus.org/shitty-maven-plugin/">shitty-maven-plugin</a> (Super Helpful Integration Testing ThingY) provides a simple way to run integration tests for a project (single module or multi-module).</p><p>shitty-maven-plugin does many of the same things as the maven-invoker-plugin (it supports Groovy tests instead of BeanShell tests), though it has some features that aren't available in maven-invoker-plugin. Notably, it provides some advanced setup steps to automatically install your plugin using a special version name (&quot;TESTING&quot;), so your dummy projects can depend on that version explicitly.</p></div><div class="section"><h3>maven-it-plugin<a name="maven-it-plugin"></a></h3><p><b>Note</b>: maven-it-plugin is not at 1.0 yet. Use it at your own risk.</p><p>The <a class="externalLink" href="https://svn.apac
 he.org/repos/asf/maven/sandbox/trunk/plugins/maven-it-plugin/">maven-it-plugin</a> is used directly in the <tt>integration-test</tt> phase.</p><p><b>Note</b>: this it plugin can not be used to test a plugin that is being built for the first time (i.e. with no release). In this case, you could, for instance, defined an it-snapshot of the plugin with <tt>maven-install-plugin</tt>. during the <tt>pre-integration-test</tt> phase.</p><div class="source"><pre>&lt;project
+&lt;/project&gt;</pre></div></div>
+<div class="section">
+<h3>shitty-maven-plugin<a name="shitty-maven-plugin"></a></h3>
+<p>The <a class="externalLink" href="http://mojo.codehaus.org/shitty-maven-plugin/">shitty-maven-plugin</a> (Super Helpful Integration Testing ThingY) provides a simple way to run integration tests for a project (single module or multi-module).</p>
+<p>shitty-maven-plugin does many of the same things as the maven-invoker-plugin (it supports Groovy tests instead of BeanShell tests), though it has some features that aren't available in maven-invoker-plugin. Notably, it provides some advanced setup steps to automatically install your plugin using a special version name (&quot;TESTING&quot;), so your dummy projects can depend on that version explicitly.</p></div>
+<div class="section">
+<h3>maven-it-plugin<a name="maven-it-plugin"></a></h3>
+<p><b>Note</b>: maven-it-plugin is not at 1.0 yet. Use it at your own risk.</p>
+<p>The <a class="externalLink" href="https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-it-plugin/">maven-it-plugin</a> is used directly in the <tt>integration-test</tt> phase.</p>
+<p><b>Note</b>: this it plugin can not be used to test a plugin that is being built for the first time (i.e. with no release). In this case, you could, for instance, defined an it-snapshot of the plugin with <tt>maven-install-plugin</tt>. during the <tt>pre-integration-test</tt> phase.</p>
+<div class="source">
+<pre>&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
@@ -440,7 +493,10 @@
     &lt;/plugins&gt;
   &lt;/build&gt;
   ...
-&lt;/project&gt;</pre></div><p>The it pom should use the it snapshot:</p><div class="source"><pre>&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;
+&lt;/project&gt;</pre></div>
+<p>The it pom should use the it snapshot:</p>
+<div class="source">
+<pre>&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;
@@ -458,7 +514,13 @@
     &lt;/plugins&gt;
   &lt;/reporting&gt;
 ...
-&lt;/project&gt;</pre></div></div><div class="section"><h3>maven-plugin-management-plugin<a name="maven-plugin-management-plugin"></a></h3><p>The <a class="externalLink" href="https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-plugin-management-plugin/">maven-plugin-management-plugin</a> is to stage/unstage a plugin into the local repository for pre/post-integration-test.</p><p>You need to configure the <tt>maven-plugin-test-plugin</tt> and the <tt>maven-surefire-plugin</tt>:</p><div class="source"><pre>&lt;project
+&lt;/project&gt;</pre></div></div>
+<div class="section">
+<h3>maven-plugin-management-plugin<a name="maven-plugin-management-plugin"></a></h3>
+<p>The <a class="externalLink" href="https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-plugin-management-plugin/">maven-plugin-management-plugin</a> is to stage/unstage a plugin into the local repository for pre/post-integration-test.</p>
+<p>You need to configure the <tt>maven-plugin-test-plugin</tt> and the <tt>maven-surefire-plugin</tt>:</p>
+<div class="source">
+<pre>&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
@@ -537,7 +599,10 @@
     &lt;/plugins&gt;
   &lt;/build&gt;
   ...
-&lt;/project&gt;</pre></div><p>The *TestIt classes could use the Maven Embedder to provide tests:</p><div class="source"><pre>public class MyMojoTestIt
+&lt;/project&gt;</pre></div>
+<p>The *TestIt classes could use the Maven Embedder to provide tests:</p>
+<div class="source">
+<pre>public class MyMojoTestIt
     extends PlexusTestCase
 {
     /**
@@ -572,7 +637,8 @@
 
         maven.stop();
     }
-}</pre></div><p><b>Note</b>: The <a class="externalLink" href="https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-it-plugin/">maven-plugin-management-plugin</a> is similar to <tt>maven-plugin-test-plugin</tt>.</p></div></div>
+}</pre></div>
+<p><b>Note</b>: The <a class="externalLink" href="https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-it-plugin/">maven-plugin-management-plugin</a> is similar to <tt>maven-plugin-test-plugin</tt>.</p></div></div>
       </div>
     </div>
     <div class="clear">