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 kh...@apache.org on 2018/12/08 12:20:59 UTC

svn commit: r1848462 [29/29] - in /maven/website/components/plugins-archives/maven-help-plugin-LATEST: ./ apidocs/ apidocs/jquery/ apidocs/jquery/external/ apidocs/jquery/external/jquery/ apidocs/jquery/images/ apidocs/jquery/jszip-utils/ apidocs/jquer...

Modified: maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/EvaluateMojo.html
==============================================================================
--- maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/EvaluateMojo.html (original)
+++ maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/EvaluateMojo.html Sat Dec  8 12:20:57 2018
@@ -59,8 +59,8 @@
 <a class="jxr_linenumber" name="L51" href="#L51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.project.ProjectBuildingRequest;
 <a class="jxr_linenumber" name="L52" href="#L52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.settings.Settings;
 <a class="jxr_linenumber" name="L53" href="#L53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.settings.io.xpp3.SettingsXpp3Writer;
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.artifact.ArtifactCoordinate;
-<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.artifact.resolve.ArtifactResolverException;
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.transfer.artifact.ArtifactCoordinate;
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException;
 <a class="jxr_linenumber" name="L56" href="#L56">56</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 <a class="jxr_linenumber" name="L57" href="#L57">57</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.components.interactivity.InputHandler;
 <a class="jxr_linenumber" name="L58" href="#L58">58</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.util.IOUtil;
@@ -412,310 +412,311 @@
 <a class="jxr_linenumber" name="L404" href="#L404">404</a>                 <strong class="jxr_keyword">if</strong> ( forceStdout )
 <a class="jxr_linenumber" name="L405" href="#L405">405</a>                 {
 <a class="jxr_linenumber" name="L406" href="#L406">406</a>                     System.out.print( response.toString() );
-<a class="jxr_linenumber" name="L407" href="#L407">407</a>                 }
-<a class="jxr_linenumber" name="L408" href="#L408">408</a>             }
-<a class="jxr_linenumber" name="L409" href="#L409">409</a>         }
-<a class="jxr_linenumber" name="L410" href="#L410">410</a>     }
-<a class="jxr_linenumber" name="L411" href="#L411">411</a> 
-<a class="jxr_linenumber" name="L412" href="#L412">412</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L413" href="#L413">413</a> <em class="jxr_javadoccomment">     * @param expr the user expression.</em>
-<a class="jxr_linenumber" name="L414" href="#L414">414</a> <em class="jxr_javadoccomment">     * @param obj a not null.</em>
-<a class="jxr_linenumber" name="L415" href="#L415">415</a> <em class="jxr_javadoccomment">     * @return the XML for the given object.</em>
-<a class="jxr_linenumber" name="L416" href="#L416">416</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L417" href="#L417">417</a>     <strong class="jxr_keyword">private</strong> String toXML( String expr, Object obj )
-<a class="jxr_linenumber" name="L418" href="#L418">418</a>     {
-<a class="jxr_linenumber" name="L419" href="#L419">419</a>         XStream currentXStream = getXStream();
-<a class="jxr_linenumber" name="L420" href="#L420">420</a> 
-<a class="jxr_linenumber" name="L421" href="#L421">421</a>         <em class="jxr_comment">// beautify list</em>
-<a class="jxr_linenumber" name="L422" href="#L422">422</a>         <strong class="jxr_keyword">if</strong> ( obj instanceof List )
-<a class="jxr_linenumber" name="L423" href="#L423">423</a>         {
-<a class="jxr_linenumber" name="L424" href="#L424">424</a>             List&lt;?&gt; list = (List&lt;?&gt;) obj;
-<a class="jxr_linenumber" name="L425" href="#L425">425</a>             <strong class="jxr_keyword">if</strong> ( list.size() &gt; 0 )
-<a class="jxr_linenumber" name="L426" href="#L426">426</a>             {
-<a class="jxr_linenumber" name="L427" href="#L427">427</a>                 Object elt = list.iterator().next();
-<a class="jxr_linenumber" name="L428" href="#L428">428</a> 
-<a class="jxr_linenumber" name="L429" href="#L429">429</a>                 String name = StringUtils.lowercaseFirstLetter( elt.getClass().getSimpleName() );
-<a class="jxr_linenumber" name="L430" href="#L430">430</a>                 currentXStream.alias( pluralize( name ), List.<strong class="jxr_keyword">class</strong> );
-<a class="jxr_linenumber" name="L431" href="#L431">431</a>             }
-<a class="jxr_linenumber" name="L432" href="#L432">432</a>             <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L433" href="#L433">433</a>             {
-<a class="jxr_linenumber" name="L434" href="#L434">434</a>                 <em class="jxr_comment">// try to detect the alias from question</em>
-<a class="jxr_linenumber" name="L435" href="#L435">435</a>                 <strong class="jxr_keyword">if</strong> ( expr.indexOf( '.' ) != -1 )
-<a class="jxr_linenumber" name="L436" href="#L436">436</a>                 {
-<a class="jxr_linenumber" name="L437" href="#L437">437</a>                     String name = expr.substring( expr.indexOf( '.' ) + 1, expr.indexOf( '}' ) );
-<a class="jxr_linenumber" name="L438" href="#L438">438</a>                     currentXStream.alias( name, List.<strong class="jxr_keyword">class</strong> );
-<a class="jxr_linenumber" name="L439" href="#L439">439</a>                 }
-<a class="jxr_linenumber" name="L440" href="#L440">440</a>             }
-<a class="jxr_linenumber" name="L441" href="#L441">441</a>         }
-<a class="jxr_linenumber" name="L442" href="#L442">442</a> 
-<a class="jxr_linenumber" name="L443" href="#L443">443</a>         <strong class="jxr_keyword">return</strong> currentXStream.toXML( obj );
-<a class="jxr_linenumber" name="L444" href="#L444">444</a>     }
-<a class="jxr_linenumber" name="L445" href="#L445">445</a> 
-<a class="jxr_linenumber" name="L446" href="#L446">446</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L447" href="#L447">447</a> <em class="jxr_javadoccomment">     * @return lazy loading xstream object.</em>
-<a class="jxr_linenumber" name="L448" href="#L448">448</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L449" href="#L449">449</a>     <strong class="jxr_keyword">private</strong> XStream getXStream()
-<a class="jxr_linenumber" name="L450" href="#L450">450</a>     {
-<a class="jxr_linenumber" name="L451" href="#L451">451</a>         <strong class="jxr_keyword">if</strong> ( xstream == <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L452" href="#L452">452</a>         {
-<a class="jxr_linenumber" name="L453" href="#L453">453</a>             xstream = <strong class="jxr_keyword">new</strong> XStream();
-<a class="jxr_linenumber" name="L454" href="#L454">454</a>             addAlias( xstream );
-<a class="jxr_linenumber" name="L455" href="#L455">455</a> 
-<a class="jxr_linenumber" name="L456" href="#L456">456</a>             <em class="jxr_comment">// handle Properties a la Maven</em>
-<a class="jxr_linenumber" name="L457" href="#L457">457</a>             xstream.registerConverter( <strong class="jxr_keyword">new</strong> PropertiesConverter()
-<a class="jxr_linenumber" name="L458" href="#L458">458</a>             {
-<a class="jxr_linenumber" name="L459" href="#L459">459</a>                 <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
-<a class="jxr_linenumber" name="L460" href="#L460">460</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> canConvert( @SuppressWarnings( <span class="jxr_string">"rawtypes"</span> ) Class type )
-<a class="jxr_linenumber" name="L461" href="#L461">461</a>                 {
-<a class="jxr_linenumber" name="L462" href="#L462">462</a>                     <strong class="jxr_keyword">return</strong> Properties.<strong class="jxr_keyword">class</strong> == type;
-<a class="jxr_linenumber" name="L463" href="#L463">463</a>                 }
-<a class="jxr_linenumber" name="L464" href="#L464">464</a> 
-<a class="jxr_linenumber" name="L465" href="#L465">465</a>                 <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
-<a class="jxr_linenumber" name="L466" href="#L466">466</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> marshal( Object source, HierarchicalStreamWriter writer, MarshallingContext context )
-<a class="jxr_linenumber" name="L467" href="#L467">467</a>                 {
-<a class="jxr_linenumber" name="L468" href="#L468">468</a>                     Properties properties = (Properties) source;
-<a class="jxr_linenumber" name="L469" href="#L469">469</a>                     Map&lt;?, ?&gt; map = <strong class="jxr_keyword">new</strong> TreeMap&lt;Object, Object&gt;( properties ); <em class="jxr_comment">// sort</em>
-<a class="jxr_linenumber" name="L470" href="#L470">470</a>                     <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;?, ?&gt; entry : map.entrySet() )
-<a class="jxr_linenumber" name="L471" href="#L471">471</a>                     {
-<a class="jxr_linenumber" name="L472" href="#L472">472</a>                         writer.startNode( entry.getKey().toString() );
-<a class="jxr_linenumber" name="L473" href="#L473">473</a>                         writer.setValue( entry.getValue().toString() );
-<a class="jxr_linenumber" name="L474" href="#L474">474</a>                         writer.endNode();
-<a class="jxr_linenumber" name="L475" href="#L475">475</a>                     }
-<a class="jxr_linenumber" name="L476" href="#L476">476</a>                 }
-<a class="jxr_linenumber" name="L477" href="#L477">477</a>             } );
-<a class="jxr_linenumber" name="L478" href="#L478">478</a>         }
-<a class="jxr_linenumber" name="L479" href="#L479">479</a> 
-<a class="jxr_linenumber" name="L480" href="#L480">480</a>         <strong class="jxr_keyword">return</strong> xstream;
-<a class="jxr_linenumber" name="L481" href="#L481">481</a>     }
-<a class="jxr_linenumber" name="L482" href="#L482">482</a> 
-<a class="jxr_linenumber" name="L483" href="#L483">483</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L484" href="#L484">484</a> <em class="jxr_javadoccomment">     * @param xstreamObject not null</em>
-<a class="jxr_linenumber" name="L485" href="#L485">485</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L486" href="#L486">486</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addAlias( XStream xstreamObject )
-<a class="jxr_linenumber" name="L487" href="#L487">487</a>     {
-<a class="jxr_linenumber" name="L488" href="#L488">488</a>         <strong class="jxr_keyword">try</strong>
-<a class="jxr_linenumber" name="L489" href="#L489">489</a>         {
-<a class="jxr_linenumber" name="L490" href="#L490">490</a>             addAlias( xstreamObject, getMavenModelJarFile(), <span class="jxr_string">"org.apache.maven.model"</span> );
-<a class="jxr_linenumber" name="L491" href="#L491">491</a>             addAlias( xstreamObject, getMavenSettingsJarFile(), <span class="jxr_string">"org.apache.maven.settings"</span> );
-<a class="jxr_linenumber" name="L492" href="#L492">492</a>         }
-<a class="jxr_linenumber" name="L493" href="#L493">493</a>         <strong class="jxr_keyword">catch</strong> ( MojoExecutionException e )
-<a class="jxr_linenumber" name="L494" href="#L494">494</a>         {
-<a class="jxr_linenumber" name="L495" href="#L495">495</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a class="jxr_linenumber" name="L496" href="#L496">496</a>             {
-<a class="jxr_linenumber" name="L497" href="#L497">497</a>                 getLog().debug( <span class="jxr_string">"MojoExecutionException: "</span> + e.getMessage(), e );
-<a class="jxr_linenumber" name="L498" href="#L498">498</a>             }
-<a class="jxr_linenumber" name="L499" href="#L499">499</a>         }
-<a class="jxr_linenumber" name="L500" href="#L500">500</a>         <strong class="jxr_keyword">catch</strong> ( ArtifactResolverException e )
-<a class="jxr_linenumber" name="L501" href="#L501">501</a>         {
-<a class="jxr_linenumber" name="L502" href="#L502">502</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a class="jxr_linenumber" name="L503" href="#L503">503</a>             {
-<a class="jxr_linenumber" name="L504" href="#L504">504</a>                 getLog().debug( <span class="jxr_string">"ArtifactResolverException: "</span> + e.getMessage(), e );
-<a class="jxr_linenumber" name="L505" href="#L505">505</a>             }
-<a class="jxr_linenumber" name="L506" href="#L506">506</a>         }
-<a class="jxr_linenumber" name="L507" href="#L507">507</a>         <strong class="jxr_keyword">catch</strong> ( ProjectBuildingException e )
-<a class="jxr_linenumber" name="L508" href="#L508">508</a>         {
-<a class="jxr_linenumber" name="L509" href="#L509">509</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a class="jxr_linenumber" name="L510" href="#L510">510</a>             {
-<a class="jxr_linenumber" name="L511" href="#L511">511</a>                 getLog().debug( <span class="jxr_string">"ProjectBuildingException: "</span> + e.getMessage(), e );
-<a class="jxr_linenumber" name="L512" href="#L512">512</a>             }
-<a class="jxr_linenumber" name="L513" href="#L513">513</a>         }
-<a class="jxr_linenumber" name="L514" href="#L514">514</a> 
-<a class="jxr_linenumber" name="L515" href="#L515">515</a>         <em class="jxr_comment">// TODO need to handle specific Maven objects like DefaultArtifact?</em>
-<a class="jxr_linenumber" name="L516" href="#L516">516</a>     }
-<a class="jxr_linenumber" name="L517" href="#L517">517</a> 
-<a class="jxr_linenumber" name="L518" href="#L518">518</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L519" href="#L519">519</a> <em class="jxr_javadoccomment">     * @param xstreamObject not null</em>
-<a class="jxr_linenumber" name="L520" href="#L520">520</a> <em class="jxr_javadoccomment">     * @param jarFile not null</em>
-<a class="jxr_linenumber" name="L521" href="#L521">521</a> <em class="jxr_javadoccomment">     * @param packageFilter a package name to filter.</em>
-<a class="jxr_linenumber" name="L522" href="#L522">522</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L523" href="#L523">523</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addAlias( XStream xstreamObject, File jarFile, String packageFilter )
-<a class="jxr_linenumber" name="L524" href="#L524">524</a>     {
-<a class="jxr_linenumber" name="L525" href="#L525">525</a>         JarInputStream jarStream = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L526" href="#L526">526</a>         <strong class="jxr_keyword">try</strong>
-<a class="jxr_linenumber" name="L527" href="#L527">527</a>         {
-<a class="jxr_linenumber" name="L528" href="#L528">528</a>             jarStream = <strong class="jxr_keyword">new</strong> JarInputStream( <strong class="jxr_keyword">new</strong> FileInputStream( jarFile ) );
-<a class="jxr_linenumber" name="L529" href="#L529">529</a>             <strong class="jxr_keyword">for</strong> ( JarEntry jarEntry = jarStream.getNextJarEntry(); jarEntry != <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L530" href="#L530">530</a>                   jarEntry = jarStream.getNextJarEntry() )
-<a class="jxr_linenumber" name="L531" href="#L531">531</a>             {
-<a class="jxr_linenumber" name="L532" href="#L532">532</a>                 <strong class="jxr_keyword">if</strong> ( jarEntry.getName().toLowerCase( Locale.ENGLISH ).endsWith( <span class="jxr_string">".class"</span> ) )
-<a class="jxr_linenumber" name="L533" href="#L533">533</a>                 {
-<a class="jxr_linenumber" name="L534" href="#L534">534</a>                     String name = jarEntry.getName().substring( 0, jarEntry.getName().indexOf( <span class="jxr_string">"."</span> ) );
-<a class="jxr_linenumber" name="L535" href="#L535">535</a>                     name = name.replaceAll( <span class="jxr_string">"/"</span>, <span class="jxr_string">"&#92;&#92;."</span> );
-<a class="jxr_linenumber" name="L536" href="#L536">536</a> 
-<a class="jxr_linenumber" name="L537" href="#L537">537</a>                     <strong class="jxr_keyword">if</strong> ( name.contains( packageFilter ) )
-<a class="jxr_linenumber" name="L538" href="#L538">538</a>                     {
-<a class="jxr_linenumber" name="L539" href="#L539">539</a>                         <strong class="jxr_keyword">try</strong>
-<a class="jxr_linenumber" name="L540" href="#L540">540</a>                         {
-<a class="jxr_linenumber" name="L541" href="#L541">541</a>                             Class&lt;?&gt; clazz = ClassUtils.getClass( name );
-<a class="jxr_linenumber" name="L542" href="#L542">542</a>                             String alias = StringUtils.lowercaseFirstLetter( clazz.getSimpleName() );
-<a class="jxr_linenumber" name="L543" href="#L543">543</a>                             xstreamObject.alias( alias, clazz );
-<a class="jxr_linenumber" name="L544" href="#L544">544</a>                             <strong class="jxr_keyword">if</strong> ( !clazz.equals( Model.<strong class="jxr_keyword">class</strong> ) )
-<a class="jxr_linenumber" name="L545" href="#L545">545</a>                             {
-<a class="jxr_linenumber" name="L546" href="#L546">546</a>                                 xstreamObject.omitField( clazz, <span class="jxr_string">"modelEncoding"</span> ); <em class="jxr_comment">// unnecessary field</em>
-<a class="jxr_linenumber" name="L547" href="#L547">547</a>                             }
-<a class="jxr_linenumber" name="L548" href="#L548">548</a>                         }
-<a class="jxr_linenumber" name="L549" href="#L549">549</a>                         <strong class="jxr_keyword">catch</strong> ( ClassNotFoundException e )
-<a class="jxr_linenumber" name="L550" href="#L550">550</a>                         {
-<a class="jxr_linenumber" name="L551" href="#L551">551</a>                             getLog().error( e );
-<a class="jxr_linenumber" name="L552" href="#L552">552</a>                         }
-<a class="jxr_linenumber" name="L553" href="#L553">553</a>                     }
-<a class="jxr_linenumber" name="L554" href="#L554">554</a>                 }
-<a class="jxr_linenumber" name="L555" href="#L555">555</a> 
-<a class="jxr_linenumber" name="L556" href="#L556">556</a>                 jarStream.closeEntry();
-<a class="jxr_linenumber" name="L557" href="#L557">557</a>             }
-<a class="jxr_linenumber" name="L558" href="#L558">558</a> 
-<a class="jxr_linenumber" name="L559" href="#L559">559</a>             jarStream.close();
-<a class="jxr_linenumber" name="L560" href="#L560">560</a>             jarStream = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L561" href="#L561">561</a>         }
-<a class="jxr_linenumber" name="L562" href="#L562">562</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a class="jxr_linenumber" name="L563" href="#L563">563</a>         {
-<a class="jxr_linenumber" name="L564" href="#L564">564</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a class="jxr_linenumber" name="L565" href="#L565">565</a>             {
-<a class="jxr_linenumber" name="L566" href="#L566">566</a>                 getLog().debug( <span class="jxr_string">"IOException: "</span> + e.getMessage(), e );
-<a class="jxr_linenumber" name="L567" href="#L567">567</a>             }
-<a class="jxr_linenumber" name="L568" href="#L568">568</a>         }
-<a class="jxr_linenumber" name="L569" href="#L569">569</a>         <strong class="jxr_keyword">finally</strong>
-<a class="jxr_linenumber" name="L570" href="#L570">570</a>         {
-<a class="jxr_linenumber" name="L571" href="#L571">571</a>             IOUtil.close( jarStream );
-<a class="jxr_linenumber" name="L572" href="#L572">572</a>         }
-<a class="jxr_linenumber" name="L573" href="#L573">573</a>     }
-<a class="jxr_linenumber" name="L574" href="#L574">574</a> 
-<a class="jxr_linenumber" name="L575" href="#L575">575</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L576" href="#L576">576</a> <em class="jxr_javadoccomment">     * @return the &lt;code&gt;org.apache.maven:maven-model&lt;/code&gt; artifact jar file in the local repository.</em>
-<a class="jxr_linenumber" name="L577" href="#L577">577</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
-<a class="jxr_linenumber" name="L578" href="#L578">578</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
-<a class="jxr_linenumber" name="L579" href="#L579">579</a> <em class="jxr_javadoccomment">     * @throws ArtifactResolverException if any</em>
-<a class="jxr_linenumber" name="L580" href="#L580">580</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L581" href="#L581">581</a>     <strong class="jxr_keyword">private</strong> File getMavenModelJarFile()
-<a class="jxr_linenumber" name="L582" href="#L582">582</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException, ArtifactResolverException
-<a class="jxr_linenumber" name="L583" href="#L583">583</a>     {
-<a class="jxr_linenumber" name="L584" href="#L584">584</a>         <strong class="jxr_keyword">return</strong> getArtifactFile( <strong class="jxr_keyword">true</strong> );
-<a class="jxr_linenumber" name="L585" href="#L585">585</a>     }
-<a class="jxr_linenumber" name="L586" href="#L586">586</a> 
-<a class="jxr_linenumber" name="L587" href="#L587">587</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L588" href="#L588">588</a> <em class="jxr_javadoccomment">     * @return the &lt;code&gt;org.apache.maven:maven-settings&lt;/code&gt; artifact jar file in the local repository.</em>
-<a class="jxr_linenumber" name="L589" href="#L589">589</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
-<a class="jxr_linenumber" name="L590" href="#L590">590</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
-<a class="jxr_linenumber" name="L591" href="#L591">591</a> <em class="jxr_javadoccomment">     * @throws ArtifactResolverException if any</em>
-<a class="jxr_linenumber" name="L592" href="#L592">592</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L593" href="#L593">593</a>     <strong class="jxr_keyword">private</strong> File getMavenSettingsJarFile()
-<a class="jxr_linenumber" name="L594" href="#L594">594</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException, ArtifactResolverException
-<a class="jxr_linenumber" name="L595" href="#L595">595</a>     {
-<a class="jxr_linenumber" name="L596" href="#L596">596</a>         <strong class="jxr_keyword">return</strong> getArtifactFile( false );
-<a class="jxr_linenumber" name="L597" href="#L597">597</a>     }
-<a class="jxr_linenumber" name="L598" href="#L598">598</a> 
-<a class="jxr_linenumber" name="L599" href="#L599">599</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L600" href="#L600">600</a> <em class="jxr_javadoccomment">     * @param isPom &lt;code&gt;true&lt;/code&gt; to lookup the &lt;code&gt;maven-model&lt;/code&gt; artifact jar, &lt;code&gt;false&lt;/code&gt; to lookup</em>
-<a class="jxr_linenumber" name="L601" href="#L601">601</a> <em class="jxr_javadoccomment">     *            the &lt;code&gt;maven-settings&lt;/code&gt; artifact jar.</em>
-<a class="jxr_linenumber" name="L602" href="#L602">602</a> <em class="jxr_javadoccomment">     * @return the &lt;code&gt;org.apache.maven:maven-model|maven-settings&lt;/code&gt; artifact jar file for this current</em>
-<a class="jxr_linenumber" name="L603" href="#L603">603</a> <em class="jxr_javadoccomment">     *         HelpPlugin pom.</em>
-<a class="jxr_linenumber" name="L604" href="#L604">604</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
-<a class="jxr_linenumber" name="L605" href="#L605">605</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
-<a class="jxr_linenumber" name="L606" href="#L606">606</a> <em class="jxr_javadoccomment">     * @throws ArtifactResolverException if any</em>
-<a class="jxr_linenumber" name="L607" href="#L607">607</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L608" href="#L608">608</a>     <strong class="jxr_keyword">private</strong> File getArtifactFile( <strong class="jxr_keyword">boolean</strong> isPom )
-<a class="jxr_linenumber" name="L609" href="#L609">609</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException, ArtifactResolverException
-<a class="jxr_linenumber" name="L610" href="#L610">610</a>     {
-<a class="jxr_linenumber" name="L611" href="#L611">611</a>         List&lt;Dependency&gt; dependencies = getHelpPluginPom().getDependencies();
-<a class="jxr_linenumber" name="L612" href="#L612">612</a>         <strong class="jxr_keyword">for</strong> ( Dependency depependency : dependencies )
-<a class="jxr_linenumber" name="L613" href="#L613">613</a>         {
-<a class="jxr_linenumber" name="L614" href="#L614">614</a>             <strong class="jxr_keyword">if</strong> ( !( depependency.getGroupId().equals( <span class="jxr_string">"org.apache.maven"</span> ) ) )
-<a class="jxr_linenumber" name="L615" href="#L615">615</a>             {
-<a class="jxr_linenumber" name="L616" href="#L616">616</a>                 <strong class="jxr_keyword">continue</strong>;
-<a class="jxr_linenumber" name="L617" href="#L617">617</a>             }
-<a class="jxr_linenumber" name="L618" href="#L618">618</a> 
-<a class="jxr_linenumber" name="L619" href="#L619">619</a>             <strong class="jxr_keyword">if</strong> ( isPom )
-<a class="jxr_linenumber" name="L620" href="#L620">620</a>             {
-<a class="jxr_linenumber" name="L621" href="#L621">621</a>                 <strong class="jxr_keyword">if</strong> ( !( depependency.getArtifactId().equals( <span class="jxr_string">"maven-model"</span> ) ) )
-<a class="jxr_linenumber" name="L622" href="#L622">622</a>                 {
-<a class="jxr_linenumber" name="L623" href="#L623">623</a>                     <strong class="jxr_keyword">continue</strong>;
-<a class="jxr_linenumber" name="L624" href="#L624">624</a>                 }
-<a class="jxr_linenumber" name="L625" href="#L625">625</a>             }
-<a class="jxr_linenumber" name="L626" href="#L626">626</a>             <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L627" href="#L627">627</a>             {
-<a class="jxr_linenumber" name="L628" href="#L628">628</a>                 <strong class="jxr_keyword">if</strong> ( !( depependency.getArtifactId().equals( <span class="jxr_string">"maven-settings"</span> ) ) )
-<a class="jxr_linenumber" name="L629" href="#L629">629</a>                 {
-<a class="jxr_linenumber" name="L630" href="#L630">630</a>                     <strong class="jxr_keyword">continue</strong>;
-<a class="jxr_linenumber" name="L631" href="#L631">631</a>                 }
-<a class="jxr_linenumber" name="L632" href="#L632">632</a>             }
-<a class="jxr_linenumber" name="L633" href="#L633">633</a> 
-<a class="jxr_linenumber" name="L634" href="#L634">634</a>             ArtifactCoordinate coordinate =
-<a class="jxr_linenumber" name="L635" href="#L635">635</a>                 getArtifactCoordinate( depependency.getGroupId(), depependency.getArtifactId(),
-<a class="jxr_linenumber" name="L636" href="#L636">636</a>                                        depependency.getVersion(), <span class="jxr_string">"jar"</span> );
-<a class="jxr_linenumber" name="L637" href="#L637">637</a>             ProjectBuildingRequest pbr = <strong class="jxr_keyword">new</strong> DefaultProjectBuildingRequest( session.getProjectBuildingRequest() );
-<a class="jxr_linenumber" name="L638" href="#L638">638</a>             pbr.setRemoteRepositories( remoteRepositories );
-<a class="jxr_linenumber" name="L639" href="#L639">639</a>             <strong class="jxr_keyword">return</strong> artifactResolver.resolveArtifact( pbr, coordinate ).getArtifact().getFile();
-<a class="jxr_linenumber" name="L640" href="#L640">640</a>         }
-<a class="jxr_linenumber" name="L641" href="#L641">641</a> 
-<a class="jxr_linenumber" name="L642" href="#L642">642</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to find the 'org.apache.maven:"</span>
-<a class="jxr_linenumber" name="L643" href="#L643">643</a>             + ( isPom ? <span class="jxr_string">"maven-model"</span> : <span class="jxr_string">"maven-settings"</span> ) + <span class="jxr_string">"' artifact"</span> );
-<a class="jxr_linenumber" name="L644" href="#L644">644</a>     }
-<a class="jxr_linenumber" name="L645" href="#L645">645</a> 
-<a class="jxr_linenumber" name="L646" href="#L646">646</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L647" href="#L647">647</a> <em class="jxr_javadoccomment">     * @return the Maven POM for the current help plugin</em>
-<a class="jxr_linenumber" name="L648" href="#L648">648</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
-<a class="jxr_linenumber" name="L649" href="#L649">649</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
-<a class="jxr_linenumber" name="L650" href="#L650">650</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L651" href="#L651">651</a>     <strong class="jxr_keyword">private</strong> MavenProject getHelpPluginPom()
-<a class="jxr_linenumber" name="L652" href="#L652">652</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException
-<a class="jxr_linenumber" name="L653" href="#L653">653</a>     {
-<a class="jxr_linenumber" name="L654" href="#L654">654</a>         String resource = <span class="jxr_string">"META-INF/maven/org.apache.maven.plugins/maven-help-plugin/pom.properties"</span>;
-<a class="jxr_linenumber" name="L655" href="#L655">655</a> 
-<a class="jxr_linenumber" name="L656" href="#L656">656</a>         InputStream resourceAsStream = EvaluateMojo.<strong class="jxr_keyword">class</strong>.getClassLoader().getResourceAsStream( resource );
-<a class="jxr_linenumber" name="L657" href="#L657">657</a>         <strong class="jxr_keyword">if</strong> ( resourceAsStream == <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L658" href="#L658">658</a>         {
-<a class="jxr_linenumber" name="L659" href="#L659">659</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"The help plugin artifact was not found."</span> );
-<a class="jxr_linenumber" name="L660" href="#L660">660</a>         }
-<a class="jxr_linenumber" name="L661" href="#L661">661</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
-<a class="jxr_linenumber" name="L662" href="#L662">662</a>         <strong class="jxr_keyword">try</strong>
-<a class="jxr_linenumber" name="L663" href="#L663">663</a>         {
-<a class="jxr_linenumber" name="L664" href="#L664">664</a>             properties.load( resourceAsStream );
-<a class="jxr_linenumber" name="L665" href="#L665">665</a>         }
-<a class="jxr_linenumber" name="L666" href="#L666">666</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
-<a class="jxr_linenumber" name="L667" href="#L667">667</a>         {
-<a class="jxr_linenumber" name="L668" href="#L668">668</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
-<a class="jxr_linenumber" name="L669" href="#L669">669</a>             {
-<a class="jxr_linenumber" name="L670" href="#L670">670</a>                 getLog().debug( <span class="jxr_string">"IOException: "</span> + e.getMessage(), e );
-<a class="jxr_linenumber" name="L671" href="#L671">671</a>             }
-<a class="jxr_linenumber" name="L672" href="#L672">672</a>         }
-<a class="jxr_linenumber" name="L673" href="#L673">673</a>         <strong class="jxr_keyword">finally</strong>
-<a class="jxr_linenumber" name="L674" href="#L674">674</a>         {
-<a class="jxr_linenumber" name="L675" href="#L675">675</a>             IOUtil.close( resourceAsStream );
-<a class="jxr_linenumber" name="L676" href="#L676">676</a>         }
-<a class="jxr_linenumber" name="L677" href="#L677">677</a> 
-<a class="jxr_linenumber" name="L678" href="#L678">678</a>         String artifactString =
-<a class="jxr_linenumber" name="L679" href="#L679">679</a>             properties.getProperty( <span class="jxr_string">"groupId"</span>, <span class="jxr_string">"unknown"</span> ) + <span class="jxr_string">":"</span>
-<a class="jxr_linenumber" name="L680" href="#L680">680</a>                 + properties.getProperty( <span class="jxr_string">"artifactId"</span>, <span class="jxr_string">"unknown"</span> ) + <span class="jxr_string">":"</span>
-<a class="jxr_linenumber" name="L681" href="#L681">681</a>                 + properties.getProperty( <span class="jxr_string">"version"</span>, <span class="jxr_string">"unknown"</span> );
-<a class="jxr_linenumber" name="L682" href="#L682">682</a> 
-<a class="jxr_linenumber" name="L683" href="#L683">683</a>         <strong class="jxr_keyword">return</strong> getMavenProject( artifactString );
-<a class="jxr_linenumber" name="L684" href="#L684">684</a>     }
-<a class="jxr_linenumber" name="L685" href="#L685">685</a> 
-<a class="jxr_linenumber" name="L686" href="#L686">686</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L687" href="#L687">687</a> <em class="jxr_javadoccomment">     * @param name not null</em>
-<a class="jxr_linenumber" name="L688" href="#L688">688</a> <em class="jxr_javadoccomment">     * @return the plural of the name</em>
-<a class="jxr_linenumber" name="L689" href="#L689">689</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L690" href="#L690">690</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String pluralize( String name )
-<a class="jxr_linenumber" name="L691" href="#L691">691</a>     {
-<a class="jxr_linenumber" name="L692" href="#L692">692</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( name ) )
-<a class="jxr_linenumber" name="L693" href="#L693">693</a>         {
-<a class="jxr_linenumber" name="L694" href="#L694">694</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( <span class="jxr_string">"name is required"</span> );
-<a class="jxr_linenumber" name="L695" href="#L695">695</a>         }
-<a class="jxr_linenumber" name="L696" href="#L696">696</a> 
-<a class="jxr_linenumber" name="L697" href="#L697">697</a>         <strong class="jxr_keyword">if</strong> ( name.endsWith( <span class="jxr_string">"y"</span> ) )
-<a class="jxr_linenumber" name="L698" href="#L698">698</a>         {
-<a class="jxr_linenumber" name="L699" href="#L699">699</a>             <strong class="jxr_keyword">return</strong> name.substring( 0, name.length() - 1 ) + <span class="jxr_string">"ies"</span>;
-<a class="jxr_linenumber" name="L700" href="#L700">700</a>         }
-<a class="jxr_linenumber" name="L701" href="#L701">701</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( name.endsWith( <span class="jxr_string">"s"</span> ) )
-<a class="jxr_linenumber" name="L702" href="#L702">702</a>         {
-<a class="jxr_linenumber" name="L703" href="#L703">703</a>             <strong class="jxr_keyword">return</strong> name;
-<a class="jxr_linenumber" name="L704" href="#L704">704</a>         }
-<a class="jxr_linenumber" name="L705" href="#L705">705</a>         <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L706" href="#L706">706</a>         {
-<a class="jxr_linenumber" name="L707" href="#L707">707</a>             <strong class="jxr_keyword">return</strong> name + <span class="jxr_string">"s"</span>;
-<a class="jxr_linenumber" name="L708" href="#L708">708</a>         }
-<a class="jxr_linenumber" name="L709" href="#L709">709</a>     }
-<a class="jxr_linenumber" name="L710" href="#L710">710</a> }
+<a class="jxr_linenumber" name="L407" href="#L407">407</a>                     System.out.flush();
+<a class="jxr_linenumber" name="L408" href="#L408">408</a>                 }
+<a class="jxr_linenumber" name="L409" href="#L409">409</a>             }
+<a class="jxr_linenumber" name="L410" href="#L410">410</a>         }
+<a class="jxr_linenumber" name="L411" href="#L411">411</a>     }
+<a class="jxr_linenumber" name="L412" href="#L412">412</a> 
+<a class="jxr_linenumber" name="L413" href="#L413">413</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L414" href="#L414">414</a> <em class="jxr_javadoccomment">     * @param expr the user expression.</em>
+<a class="jxr_linenumber" name="L415" href="#L415">415</a> <em class="jxr_javadoccomment">     * @param obj a not null.</em>
+<a class="jxr_linenumber" name="L416" href="#L416">416</a> <em class="jxr_javadoccomment">     * @return the XML for the given object.</em>
+<a class="jxr_linenumber" name="L417" href="#L417">417</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L418" href="#L418">418</a>     <strong class="jxr_keyword">private</strong> String toXML( String expr, Object obj )
+<a class="jxr_linenumber" name="L419" href="#L419">419</a>     {
+<a class="jxr_linenumber" name="L420" href="#L420">420</a>         XStream currentXStream = getXStream();
+<a class="jxr_linenumber" name="L421" href="#L421">421</a> 
+<a class="jxr_linenumber" name="L422" href="#L422">422</a>         <em class="jxr_comment">// beautify list</em>
+<a class="jxr_linenumber" name="L423" href="#L423">423</a>         <strong class="jxr_keyword">if</strong> ( obj instanceof List )
+<a class="jxr_linenumber" name="L424" href="#L424">424</a>         {
+<a class="jxr_linenumber" name="L425" href="#L425">425</a>             List&lt;?&gt; list = (List&lt;?&gt;) obj;
+<a class="jxr_linenumber" name="L426" href="#L426">426</a>             <strong class="jxr_keyword">if</strong> ( list.size() &gt; 0 )
+<a class="jxr_linenumber" name="L427" href="#L427">427</a>             {
+<a class="jxr_linenumber" name="L428" href="#L428">428</a>                 Object elt = list.iterator().next();
+<a class="jxr_linenumber" name="L429" href="#L429">429</a> 
+<a class="jxr_linenumber" name="L430" href="#L430">430</a>                 String name = StringUtils.lowercaseFirstLetter( elt.getClass().getSimpleName() );
+<a class="jxr_linenumber" name="L431" href="#L431">431</a>                 currentXStream.alias( pluralize( name ), List.<strong class="jxr_keyword">class</strong> );
+<a class="jxr_linenumber" name="L432" href="#L432">432</a>             }
+<a class="jxr_linenumber" name="L433" href="#L433">433</a>             <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L434" href="#L434">434</a>             {
+<a class="jxr_linenumber" name="L435" href="#L435">435</a>                 <em class="jxr_comment">// try to detect the alias from question</em>
+<a class="jxr_linenumber" name="L436" href="#L436">436</a>                 <strong class="jxr_keyword">if</strong> ( expr.indexOf( '.' ) != -1 )
+<a class="jxr_linenumber" name="L437" href="#L437">437</a>                 {
+<a class="jxr_linenumber" name="L438" href="#L438">438</a>                     String name = expr.substring( expr.indexOf( '.' ) + 1, expr.indexOf( '}' ) );
+<a class="jxr_linenumber" name="L439" href="#L439">439</a>                     currentXStream.alias( name, List.<strong class="jxr_keyword">class</strong> );
+<a class="jxr_linenumber" name="L440" href="#L440">440</a>                 }
+<a class="jxr_linenumber" name="L441" href="#L441">441</a>             }
+<a class="jxr_linenumber" name="L442" href="#L442">442</a>         }
+<a class="jxr_linenumber" name="L443" href="#L443">443</a> 
+<a class="jxr_linenumber" name="L444" href="#L444">444</a>         <strong class="jxr_keyword">return</strong> currentXStream.toXML( obj );
+<a class="jxr_linenumber" name="L445" href="#L445">445</a>     }
+<a class="jxr_linenumber" name="L446" href="#L446">446</a> 
+<a class="jxr_linenumber" name="L447" href="#L447">447</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L448" href="#L448">448</a> <em class="jxr_javadoccomment">     * @return lazy loading xstream object.</em>
+<a class="jxr_linenumber" name="L449" href="#L449">449</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L450" href="#L450">450</a>     <strong class="jxr_keyword">private</strong> XStream getXStream()
+<a class="jxr_linenumber" name="L451" href="#L451">451</a>     {
+<a class="jxr_linenumber" name="L452" href="#L452">452</a>         <strong class="jxr_keyword">if</strong> ( xstream == <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L453" href="#L453">453</a>         {
+<a class="jxr_linenumber" name="L454" href="#L454">454</a>             xstream = <strong class="jxr_keyword">new</strong> XStream();
+<a class="jxr_linenumber" name="L455" href="#L455">455</a>             addAlias( xstream );
+<a class="jxr_linenumber" name="L456" href="#L456">456</a> 
+<a class="jxr_linenumber" name="L457" href="#L457">457</a>             <em class="jxr_comment">// handle Properties a la Maven</em>
+<a class="jxr_linenumber" name="L458" href="#L458">458</a>             xstream.registerConverter( <strong class="jxr_keyword">new</strong> PropertiesConverter()
+<a class="jxr_linenumber" name="L459" href="#L459">459</a>             {
+<a class="jxr_linenumber" name="L460" href="#L460">460</a>                 <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
+<a class="jxr_linenumber" name="L461" href="#L461">461</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> canConvert( @SuppressWarnings( <span class="jxr_string">"rawtypes"</span> ) Class type )
+<a class="jxr_linenumber" name="L462" href="#L462">462</a>                 {
+<a class="jxr_linenumber" name="L463" href="#L463">463</a>                     <strong class="jxr_keyword">return</strong> Properties.<strong class="jxr_keyword">class</strong> == type;
+<a class="jxr_linenumber" name="L464" href="#L464">464</a>                 }
+<a class="jxr_linenumber" name="L465" href="#L465">465</a> 
+<a class="jxr_linenumber" name="L466" href="#L466">466</a>                 <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
+<a class="jxr_linenumber" name="L467" href="#L467">467</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> marshal( Object source, HierarchicalStreamWriter writer, MarshallingContext context )
+<a class="jxr_linenumber" name="L468" href="#L468">468</a>                 {
+<a class="jxr_linenumber" name="L469" href="#L469">469</a>                     Properties properties = (Properties) source;
+<a class="jxr_linenumber" name="L470" href="#L470">470</a>                     Map&lt;?, ?&gt; map = <strong class="jxr_keyword">new</strong> TreeMap&lt;Object, Object&gt;( properties ); <em class="jxr_comment">// sort</em>
+<a class="jxr_linenumber" name="L471" href="#L471">471</a>                     <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;?, ?&gt; entry : map.entrySet() )
+<a class="jxr_linenumber" name="L472" href="#L472">472</a>                     {
+<a class="jxr_linenumber" name="L473" href="#L473">473</a>                         writer.startNode( entry.getKey().toString() );
+<a class="jxr_linenumber" name="L474" href="#L474">474</a>                         writer.setValue( entry.getValue().toString() );
+<a class="jxr_linenumber" name="L475" href="#L475">475</a>                         writer.endNode();
+<a class="jxr_linenumber" name="L476" href="#L476">476</a>                     }
+<a class="jxr_linenumber" name="L477" href="#L477">477</a>                 }
+<a class="jxr_linenumber" name="L478" href="#L478">478</a>             } );
+<a class="jxr_linenumber" name="L479" href="#L479">479</a>         }
+<a class="jxr_linenumber" name="L480" href="#L480">480</a> 
+<a class="jxr_linenumber" name="L481" href="#L481">481</a>         <strong class="jxr_keyword">return</strong> xstream;
+<a class="jxr_linenumber" name="L482" href="#L482">482</a>     }
+<a class="jxr_linenumber" name="L483" href="#L483">483</a> 
+<a class="jxr_linenumber" name="L484" href="#L484">484</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L485" href="#L485">485</a> <em class="jxr_javadoccomment">     * @param xstreamObject not null</em>
+<a class="jxr_linenumber" name="L486" href="#L486">486</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L487" href="#L487">487</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addAlias( XStream xstreamObject )
+<a class="jxr_linenumber" name="L488" href="#L488">488</a>     {
+<a class="jxr_linenumber" name="L489" href="#L489">489</a>         <strong class="jxr_keyword">try</strong>
+<a class="jxr_linenumber" name="L490" href="#L490">490</a>         {
+<a class="jxr_linenumber" name="L491" href="#L491">491</a>             addAlias( xstreamObject, getMavenModelJarFile(), <span class="jxr_string">"org.apache.maven.model"</span> );
+<a class="jxr_linenumber" name="L492" href="#L492">492</a>             addAlias( xstreamObject, getMavenSettingsJarFile(), <span class="jxr_string">"org.apache.maven.settings"</span> );
+<a class="jxr_linenumber" name="L493" href="#L493">493</a>         }
+<a class="jxr_linenumber" name="L494" href="#L494">494</a>         <strong class="jxr_keyword">catch</strong> ( MojoExecutionException e )
+<a class="jxr_linenumber" name="L495" href="#L495">495</a>         {
+<a class="jxr_linenumber" name="L496" href="#L496">496</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a class="jxr_linenumber" name="L497" href="#L497">497</a>             {
+<a class="jxr_linenumber" name="L498" href="#L498">498</a>                 getLog().debug( <span class="jxr_string">"MojoExecutionException: "</span> + e.getMessage(), e );
+<a class="jxr_linenumber" name="L499" href="#L499">499</a>             }
+<a class="jxr_linenumber" name="L500" href="#L500">500</a>         }
+<a class="jxr_linenumber" name="L501" href="#L501">501</a>         <strong class="jxr_keyword">catch</strong> ( ArtifactResolverException e )
+<a class="jxr_linenumber" name="L502" href="#L502">502</a>         {
+<a class="jxr_linenumber" name="L503" href="#L503">503</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a class="jxr_linenumber" name="L504" href="#L504">504</a>             {
+<a class="jxr_linenumber" name="L505" href="#L505">505</a>                 getLog().debug( <span class="jxr_string">"ArtifactResolverException: "</span> + e.getMessage(), e );
+<a class="jxr_linenumber" name="L506" href="#L506">506</a>             }
+<a class="jxr_linenumber" name="L507" href="#L507">507</a>         }
+<a class="jxr_linenumber" name="L508" href="#L508">508</a>         <strong class="jxr_keyword">catch</strong> ( ProjectBuildingException e )
+<a class="jxr_linenumber" name="L509" href="#L509">509</a>         {
+<a class="jxr_linenumber" name="L510" href="#L510">510</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a class="jxr_linenumber" name="L511" href="#L511">511</a>             {
+<a class="jxr_linenumber" name="L512" href="#L512">512</a>                 getLog().debug( <span class="jxr_string">"ProjectBuildingException: "</span> + e.getMessage(), e );
+<a class="jxr_linenumber" name="L513" href="#L513">513</a>             }
+<a class="jxr_linenumber" name="L514" href="#L514">514</a>         }
+<a class="jxr_linenumber" name="L515" href="#L515">515</a> 
+<a class="jxr_linenumber" name="L516" href="#L516">516</a>         <em class="jxr_comment">// TODO need to handle specific Maven objects like DefaultArtifact?</em>
+<a class="jxr_linenumber" name="L517" href="#L517">517</a>     }
+<a class="jxr_linenumber" name="L518" href="#L518">518</a> 
+<a class="jxr_linenumber" name="L519" href="#L519">519</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L520" href="#L520">520</a> <em class="jxr_javadoccomment">     * @param xstreamObject not null</em>
+<a class="jxr_linenumber" name="L521" href="#L521">521</a> <em class="jxr_javadoccomment">     * @param jarFile not null</em>
+<a class="jxr_linenumber" name="L522" href="#L522">522</a> <em class="jxr_javadoccomment">     * @param packageFilter a package name to filter.</em>
+<a class="jxr_linenumber" name="L523" href="#L523">523</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L524" href="#L524">524</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addAlias( XStream xstreamObject, File jarFile, String packageFilter )
+<a class="jxr_linenumber" name="L525" href="#L525">525</a>     {
+<a class="jxr_linenumber" name="L526" href="#L526">526</a>         JarInputStream jarStream = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L527" href="#L527">527</a>         <strong class="jxr_keyword">try</strong>
+<a class="jxr_linenumber" name="L528" href="#L528">528</a>         {
+<a class="jxr_linenumber" name="L529" href="#L529">529</a>             jarStream = <strong class="jxr_keyword">new</strong> JarInputStream( <strong class="jxr_keyword">new</strong> FileInputStream( jarFile ) );
+<a class="jxr_linenumber" name="L530" href="#L530">530</a>             <strong class="jxr_keyword">for</strong> ( JarEntry jarEntry = jarStream.getNextJarEntry(); jarEntry != <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L531" href="#L531">531</a>                   jarEntry = jarStream.getNextJarEntry() )
+<a class="jxr_linenumber" name="L532" href="#L532">532</a>             {
+<a class="jxr_linenumber" name="L533" href="#L533">533</a>                 <strong class="jxr_keyword">if</strong> ( jarEntry.getName().toLowerCase( Locale.ENGLISH ).endsWith( <span class="jxr_string">".class"</span> ) )
+<a class="jxr_linenumber" name="L534" href="#L534">534</a>                 {
+<a class="jxr_linenumber" name="L535" href="#L535">535</a>                     String name = jarEntry.getName().substring( 0, jarEntry.getName().indexOf( <span class="jxr_string">"."</span> ) );
+<a class="jxr_linenumber" name="L536" href="#L536">536</a>                     name = name.replaceAll( <span class="jxr_string">"/"</span>, <span class="jxr_string">"&#92;&#92;."</span> );
+<a class="jxr_linenumber" name="L537" href="#L537">537</a> 
+<a class="jxr_linenumber" name="L538" href="#L538">538</a>                     <strong class="jxr_keyword">if</strong> ( name.contains( packageFilter ) )
+<a class="jxr_linenumber" name="L539" href="#L539">539</a>                     {
+<a class="jxr_linenumber" name="L540" href="#L540">540</a>                         <strong class="jxr_keyword">try</strong>
+<a class="jxr_linenumber" name="L541" href="#L541">541</a>                         {
+<a class="jxr_linenumber" name="L542" href="#L542">542</a>                             Class&lt;?&gt; clazz = ClassUtils.getClass( name );
+<a class="jxr_linenumber" name="L543" href="#L543">543</a>                             String alias = StringUtils.lowercaseFirstLetter( clazz.getSimpleName() );
+<a class="jxr_linenumber" name="L544" href="#L544">544</a>                             xstreamObject.alias( alias, clazz );
+<a class="jxr_linenumber" name="L545" href="#L545">545</a>                             <strong class="jxr_keyword">if</strong> ( !clazz.equals( Model.<strong class="jxr_keyword">class</strong> ) )
+<a class="jxr_linenumber" name="L546" href="#L546">546</a>                             {
+<a class="jxr_linenumber" name="L547" href="#L547">547</a>                                 xstreamObject.omitField( clazz, <span class="jxr_string">"modelEncoding"</span> ); <em class="jxr_comment">// unnecessary field</em>
+<a class="jxr_linenumber" name="L548" href="#L548">548</a>                             }
+<a class="jxr_linenumber" name="L549" href="#L549">549</a>                         }
+<a class="jxr_linenumber" name="L550" href="#L550">550</a>                         <strong class="jxr_keyword">catch</strong> ( ClassNotFoundException e )
+<a class="jxr_linenumber" name="L551" href="#L551">551</a>                         {
+<a class="jxr_linenumber" name="L552" href="#L552">552</a>                             getLog().error( e );
+<a class="jxr_linenumber" name="L553" href="#L553">553</a>                         }
+<a class="jxr_linenumber" name="L554" href="#L554">554</a>                     }
+<a class="jxr_linenumber" name="L555" href="#L555">555</a>                 }
+<a class="jxr_linenumber" name="L556" href="#L556">556</a> 
+<a class="jxr_linenumber" name="L557" href="#L557">557</a>                 jarStream.closeEntry();
+<a class="jxr_linenumber" name="L558" href="#L558">558</a>             }
+<a class="jxr_linenumber" name="L559" href="#L559">559</a> 
+<a class="jxr_linenumber" name="L560" href="#L560">560</a>             jarStream.close();
+<a class="jxr_linenumber" name="L561" href="#L561">561</a>             jarStream = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L562" href="#L562">562</a>         }
+<a class="jxr_linenumber" name="L563" href="#L563">563</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a class="jxr_linenumber" name="L564" href="#L564">564</a>         {
+<a class="jxr_linenumber" name="L565" href="#L565">565</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a class="jxr_linenumber" name="L566" href="#L566">566</a>             {
+<a class="jxr_linenumber" name="L567" href="#L567">567</a>                 getLog().debug( <span class="jxr_string">"IOException: "</span> + e.getMessage(), e );
+<a class="jxr_linenumber" name="L568" href="#L568">568</a>             }
+<a class="jxr_linenumber" name="L569" href="#L569">569</a>         }
+<a class="jxr_linenumber" name="L570" href="#L570">570</a>         <strong class="jxr_keyword">finally</strong>
+<a class="jxr_linenumber" name="L571" href="#L571">571</a>         {
+<a class="jxr_linenumber" name="L572" href="#L572">572</a>             IOUtil.close( jarStream );
+<a class="jxr_linenumber" name="L573" href="#L573">573</a>         }
+<a class="jxr_linenumber" name="L574" href="#L574">574</a>     }
+<a class="jxr_linenumber" name="L575" href="#L575">575</a> 
+<a class="jxr_linenumber" name="L576" href="#L576">576</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L577" href="#L577">577</a> <em class="jxr_javadoccomment">     * @return the &lt;code&gt;org.apache.maven:maven-model&lt;/code&gt; artifact jar file in the local repository.</em>
+<a class="jxr_linenumber" name="L578" href="#L578">578</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
+<a class="jxr_linenumber" name="L579" href="#L579">579</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
+<a class="jxr_linenumber" name="L580" href="#L580">580</a> <em class="jxr_javadoccomment">     * @throws ArtifactResolverException if any</em>
+<a class="jxr_linenumber" name="L581" href="#L581">581</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L582" href="#L582">582</a>     <strong class="jxr_keyword">private</strong> File getMavenModelJarFile()
+<a class="jxr_linenumber" name="L583" href="#L583">583</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException, ArtifactResolverException
+<a class="jxr_linenumber" name="L584" href="#L584">584</a>     {
+<a class="jxr_linenumber" name="L585" href="#L585">585</a>         <strong class="jxr_keyword">return</strong> getArtifactFile( <strong class="jxr_keyword">true</strong> );
+<a class="jxr_linenumber" name="L586" href="#L586">586</a>     }
+<a class="jxr_linenumber" name="L587" href="#L587">587</a> 
+<a class="jxr_linenumber" name="L588" href="#L588">588</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L589" href="#L589">589</a> <em class="jxr_javadoccomment">     * @return the &lt;code&gt;org.apache.maven:maven-settings&lt;/code&gt; artifact jar file in the local repository.</em>
+<a class="jxr_linenumber" name="L590" href="#L590">590</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
+<a class="jxr_linenumber" name="L591" href="#L591">591</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
+<a class="jxr_linenumber" name="L592" href="#L592">592</a> <em class="jxr_javadoccomment">     * @throws ArtifactResolverException if any</em>
+<a class="jxr_linenumber" name="L593" href="#L593">593</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L594" href="#L594">594</a>     <strong class="jxr_keyword">private</strong> File getMavenSettingsJarFile()
+<a class="jxr_linenumber" name="L595" href="#L595">595</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException, ArtifactResolverException
+<a class="jxr_linenumber" name="L596" href="#L596">596</a>     {
+<a class="jxr_linenumber" name="L597" href="#L597">597</a>         <strong class="jxr_keyword">return</strong> getArtifactFile( false );
+<a class="jxr_linenumber" name="L598" href="#L598">598</a>     }
+<a class="jxr_linenumber" name="L599" href="#L599">599</a> 
+<a class="jxr_linenumber" name="L600" href="#L600">600</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L601" href="#L601">601</a> <em class="jxr_javadoccomment">     * @param isPom &lt;code&gt;true&lt;/code&gt; to lookup the &lt;code&gt;maven-model&lt;/code&gt; artifact jar, &lt;code&gt;false&lt;/code&gt; to lookup</em>
+<a class="jxr_linenumber" name="L602" href="#L602">602</a> <em class="jxr_javadoccomment">     *            the &lt;code&gt;maven-settings&lt;/code&gt; artifact jar.</em>
+<a class="jxr_linenumber" name="L603" href="#L603">603</a> <em class="jxr_javadoccomment">     * @return the &lt;code&gt;org.apache.maven:maven-model|maven-settings&lt;/code&gt; artifact jar file for this current</em>
+<a class="jxr_linenumber" name="L604" href="#L604">604</a> <em class="jxr_javadoccomment">     *         HelpPlugin pom.</em>
+<a class="jxr_linenumber" name="L605" href="#L605">605</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
+<a class="jxr_linenumber" name="L606" href="#L606">606</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
+<a class="jxr_linenumber" name="L607" href="#L607">607</a> <em class="jxr_javadoccomment">     * @throws ArtifactResolverException if any</em>
+<a class="jxr_linenumber" name="L608" href="#L608">608</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L609" href="#L609">609</a>     <strong class="jxr_keyword">private</strong> File getArtifactFile( <strong class="jxr_keyword">boolean</strong> isPom )
+<a class="jxr_linenumber" name="L610" href="#L610">610</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException, ArtifactResolverException
+<a class="jxr_linenumber" name="L611" href="#L611">611</a>     {
+<a class="jxr_linenumber" name="L612" href="#L612">612</a>         List&lt;Dependency&gt; dependencies = getHelpPluginPom().getDependencies();
+<a class="jxr_linenumber" name="L613" href="#L613">613</a>         <strong class="jxr_keyword">for</strong> ( Dependency depependency : dependencies )
+<a class="jxr_linenumber" name="L614" href="#L614">614</a>         {
+<a class="jxr_linenumber" name="L615" href="#L615">615</a>             <strong class="jxr_keyword">if</strong> ( !( depependency.getGroupId().equals( <span class="jxr_string">"org.apache.maven"</span> ) ) )
+<a class="jxr_linenumber" name="L616" href="#L616">616</a>             {
+<a class="jxr_linenumber" name="L617" href="#L617">617</a>                 <strong class="jxr_keyword">continue</strong>;
+<a class="jxr_linenumber" name="L618" href="#L618">618</a>             }
+<a class="jxr_linenumber" name="L619" href="#L619">619</a> 
+<a class="jxr_linenumber" name="L620" href="#L620">620</a>             <strong class="jxr_keyword">if</strong> ( isPom )
+<a class="jxr_linenumber" name="L621" href="#L621">621</a>             {
+<a class="jxr_linenumber" name="L622" href="#L622">622</a>                 <strong class="jxr_keyword">if</strong> ( !( depependency.getArtifactId().equals( <span class="jxr_string">"maven-model"</span> ) ) )
+<a class="jxr_linenumber" name="L623" href="#L623">623</a>                 {
+<a class="jxr_linenumber" name="L624" href="#L624">624</a>                     <strong class="jxr_keyword">continue</strong>;
+<a class="jxr_linenumber" name="L625" href="#L625">625</a>                 }
+<a class="jxr_linenumber" name="L626" href="#L626">626</a>             }
+<a class="jxr_linenumber" name="L627" href="#L627">627</a>             <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L628" href="#L628">628</a>             {
+<a class="jxr_linenumber" name="L629" href="#L629">629</a>                 <strong class="jxr_keyword">if</strong> ( !( depependency.getArtifactId().equals( <span class="jxr_string">"maven-settings"</span> ) ) )
+<a class="jxr_linenumber" name="L630" href="#L630">630</a>                 {
+<a class="jxr_linenumber" name="L631" href="#L631">631</a>                     <strong class="jxr_keyword">continue</strong>;
+<a class="jxr_linenumber" name="L632" href="#L632">632</a>                 }
+<a class="jxr_linenumber" name="L633" href="#L633">633</a>             }
+<a class="jxr_linenumber" name="L634" href="#L634">634</a> 
+<a class="jxr_linenumber" name="L635" href="#L635">635</a>             ArtifactCoordinate coordinate =
+<a class="jxr_linenumber" name="L636" href="#L636">636</a>                 getArtifactCoordinate( depependency.getGroupId(), depependency.getArtifactId(),
+<a class="jxr_linenumber" name="L637" href="#L637">637</a>                                        depependency.getVersion(), <span class="jxr_string">"jar"</span> );
+<a class="jxr_linenumber" name="L638" href="#L638">638</a>             ProjectBuildingRequest pbr = <strong class="jxr_keyword">new</strong> DefaultProjectBuildingRequest( session.getProjectBuildingRequest() );
+<a class="jxr_linenumber" name="L639" href="#L639">639</a>             pbr.setRemoteRepositories( remoteRepositories );
+<a class="jxr_linenumber" name="L640" href="#L640">640</a>             <strong class="jxr_keyword">return</strong> artifactResolver.resolveArtifact( pbr, coordinate ).getArtifact().getFile();
+<a class="jxr_linenumber" name="L641" href="#L641">641</a>         }
+<a class="jxr_linenumber" name="L642" href="#L642">642</a> 
+<a class="jxr_linenumber" name="L643" href="#L643">643</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"Unable to find the 'org.apache.maven:"</span>
+<a class="jxr_linenumber" name="L644" href="#L644">644</a>             + ( isPom ? <span class="jxr_string">"maven-model"</span> : <span class="jxr_string">"maven-settings"</span> ) + <span class="jxr_string">"' artifact"</span> );
+<a class="jxr_linenumber" name="L645" href="#L645">645</a>     }
+<a class="jxr_linenumber" name="L646" href="#L646">646</a> 
+<a class="jxr_linenumber" name="L647" href="#L647">647</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L648" href="#L648">648</a> <em class="jxr_javadoccomment">     * @return the Maven POM for the current help plugin</em>
+<a class="jxr_linenumber" name="L649" href="#L649">649</a> <em class="jxr_javadoccomment">     * @throws MojoExecutionException if any</em>
+<a class="jxr_linenumber" name="L650" href="#L650">650</a> <em class="jxr_javadoccomment">     * @throws ProjectBuildingException if any</em>
+<a class="jxr_linenumber" name="L651" href="#L651">651</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L652" href="#L652">652</a>     <strong class="jxr_keyword">private</strong> MavenProject getHelpPluginPom()
+<a class="jxr_linenumber" name="L653" href="#L653">653</a>         <strong class="jxr_keyword">throws</strong> MojoExecutionException, ProjectBuildingException
+<a class="jxr_linenumber" name="L654" href="#L654">654</a>     {
+<a class="jxr_linenumber" name="L655" href="#L655">655</a>         String resource = <span class="jxr_string">"META-INF/maven/org.apache.maven.plugins/maven-help-plugin/pom.properties"</span>;
+<a class="jxr_linenumber" name="L656" href="#L656">656</a> 
+<a class="jxr_linenumber" name="L657" href="#L657">657</a>         InputStream resourceAsStream = EvaluateMojo.<strong class="jxr_keyword">class</strong>.getClassLoader().getResourceAsStream( resource );
+<a class="jxr_linenumber" name="L658" href="#L658">658</a>         <strong class="jxr_keyword">if</strong> ( resourceAsStream == <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L659" href="#L659">659</a>         {
+<a class="jxr_linenumber" name="L660" href="#L660">660</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MojoExecutionException( <span class="jxr_string">"The help plugin artifact was not found."</span> );
+<a class="jxr_linenumber" name="L661" href="#L661">661</a>         }
+<a class="jxr_linenumber" name="L662" href="#L662">662</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
+<a class="jxr_linenumber" name="L663" href="#L663">663</a>         <strong class="jxr_keyword">try</strong>
+<a class="jxr_linenumber" name="L664" href="#L664">664</a>         {
+<a class="jxr_linenumber" name="L665" href="#L665">665</a>             properties.load( resourceAsStream );
+<a class="jxr_linenumber" name="L666" href="#L666">666</a>         }
+<a class="jxr_linenumber" name="L667" href="#L667">667</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
+<a class="jxr_linenumber" name="L668" href="#L668">668</a>         {
+<a class="jxr_linenumber" name="L669" href="#L669">669</a>             <strong class="jxr_keyword">if</strong> ( getLog().isDebugEnabled() )
+<a class="jxr_linenumber" name="L670" href="#L670">670</a>             {
+<a class="jxr_linenumber" name="L671" href="#L671">671</a>                 getLog().debug( <span class="jxr_string">"IOException: "</span> + e.getMessage(), e );
+<a class="jxr_linenumber" name="L672" href="#L672">672</a>             }
+<a class="jxr_linenumber" name="L673" href="#L673">673</a>         }
+<a class="jxr_linenumber" name="L674" href="#L674">674</a>         <strong class="jxr_keyword">finally</strong>
+<a class="jxr_linenumber" name="L675" href="#L675">675</a>         {
+<a class="jxr_linenumber" name="L676" href="#L676">676</a>             IOUtil.close( resourceAsStream );
+<a class="jxr_linenumber" name="L677" href="#L677">677</a>         }
+<a class="jxr_linenumber" name="L678" href="#L678">678</a> 
+<a class="jxr_linenumber" name="L679" href="#L679">679</a>         String artifactString =
+<a class="jxr_linenumber" name="L680" href="#L680">680</a>             properties.getProperty( <span class="jxr_string">"groupId"</span>, <span class="jxr_string">"unknown"</span> ) + <span class="jxr_string">":"</span>
+<a class="jxr_linenumber" name="L681" href="#L681">681</a>                 + properties.getProperty( <span class="jxr_string">"artifactId"</span>, <span class="jxr_string">"unknown"</span> ) + <span class="jxr_string">":"</span>
+<a class="jxr_linenumber" name="L682" href="#L682">682</a>                 + properties.getProperty( <span class="jxr_string">"version"</span>, <span class="jxr_string">"unknown"</span> );
+<a class="jxr_linenumber" name="L683" href="#L683">683</a> 
+<a class="jxr_linenumber" name="L684" href="#L684">684</a>         <strong class="jxr_keyword">return</strong> getMavenProject( artifactString );
+<a class="jxr_linenumber" name="L685" href="#L685">685</a>     }
+<a class="jxr_linenumber" name="L686" href="#L686">686</a> 
+<a class="jxr_linenumber" name="L687" href="#L687">687</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L688" href="#L688">688</a> <em class="jxr_javadoccomment">     * @param name not null</em>
+<a class="jxr_linenumber" name="L689" href="#L689">689</a> <em class="jxr_javadoccomment">     * @return the plural of the name</em>
+<a class="jxr_linenumber" name="L690" href="#L690">690</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L691" href="#L691">691</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String pluralize( String name )
+<a class="jxr_linenumber" name="L692" href="#L692">692</a>     {
+<a class="jxr_linenumber" name="L693" href="#L693">693</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( name ) )
+<a class="jxr_linenumber" name="L694" href="#L694">694</a>         {
+<a class="jxr_linenumber" name="L695" href="#L695">695</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( <span class="jxr_string">"name is required"</span> );
+<a class="jxr_linenumber" name="L696" href="#L696">696</a>         }
+<a class="jxr_linenumber" name="L697" href="#L697">697</a> 
+<a class="jxr_linenumber" name="L698" href="#L698">698</a>         <strong class="jxr_keyword">if</strong> ( name.endsWith( <span class="jxr_string">"y"</span> ) )
+<a class="jxr_linenumber" name="L699" href="#L699">699</a>         {
+<a class="jxr_linenumber" name="L700" href="#L700">700</a>             <strong class="jxr_keyword">return</strong> name.substring( 0, name.length() - 1 ) + <span class="jxr_string">"ies"</span>;
+<a class="jxr_linenumber" name="L701" href="#L701">701</a>         }
+<a class="jxr_linenumber" name="L702" href="#L702">702</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( name.endsWith( <span class="jxr_string">"s"</span> ) )
+<a class="jxr_linenumber" name="L703" href="#L703">703</a>         {
+<a class="jxr_linenumber" name="L704" href="#L704">704</a>             <strong class="jxr_keyword">return</strong> name;
+<a class="jxr_linenumber" name="L705" href="#L705">705</a>         }
+<a class="jxr_linenumber" name="L706" href="#L706">706</a>         <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L707" href="#L707">707</a>         {
+<a class="jxr_linenumber" name="L708" href="#L708">708</a>             <strong class="jxr_keyword">return</strong> name + <span class="jxr_string">"s"</span>;
+<a class="jxr_linenumber" name="L709" href="#L709">709</a>         }
+<a class="jxr_linenumber" name="L710" href="#L710">710</a>     }
+<a class="jxr_linenumber" name="L711" href="#L711">711</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2001&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>

Modified: maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/package-frame.html
==============================================================================
--- maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/package-frame.html (original)
+++ maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/package-frame.html Sat Dec  8 12:20:57 2018
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-		<title>Apache Maven Help Plugin 3.1.0 Reference Package org.apache.maven.plugins.help</title>
+		<title>Apache Maven Help Plugin 3.1.1 Reference Package org.apache.maven.plugins.help</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>

Modified: maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/package-summary.html
==============================================================================
--- maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/package-summary.html (original)
+++ maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/org/apache/maven/plugins/help/package-summary.html Sat Dec  8 12:20:57 2018
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-		<title>Apache Maven Help Plugin 3.1.0 Reference Package org.apache.maven.plugins.help</title>
+		<title>Apache Maven Help Plugin 3.1.1 Reference Package org.apache.maven.plugins.help</title>
 		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
 	</head>
 	<body>

Modified: maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/overview-frame.html
==============================================================================
--- maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/overview-frame.html (original)
+++ maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/overview-frame.html Sat Dec  8 12:20:57 2018
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-		<title>Apache Maven Help Plugin 3.1.0 Reference</title>
+		<title>Apache Maven Help Plugin 3.1.1 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>

Modified: maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/overview-summary.html
==============================================================================
--- maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/overview-summary.html (original)
+++ maven/website/components/plugins-archives/maven-help-plugin-LATEST/xref/overview-summary.html Sat Dec  8 12:20:57 2018
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-		<title>Apache Maven Help Plugin 3.1.0 Reference</title>
+		<title>Apache Maven Help Plugin 3.1.1 Reference</title>
 		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -24,7 +24,7 @@
 	        </ul>
       	</div>
 		
-		      	<h2>Apache Maven Help Plugin 3.1.0 Reference</h2>
+		      	<h2>Apache Maven Help Plugin 3.1.1 Reference</h2>
 
 		<table class="summary">
         	<thead>