Coverage Report - org.apache.maven.plugins.site.HelpMojo
 
Classes in this File Line Coverage Branch Coverage Complexity
HelpMojo
0%
0/576
0%
0/110
10,167
 
 1  
 package org.apache.maven.plugins.site;
 2  
 
 3  
 import java.util.ArrayList;
 4  
 import java.util.Iterator;
 5  
 import java.util.List;
 6  
 
 7  
 import org.apache.maven.plugin.AbstractMojo;
 8  
 import org.apache.maven.plugin.MojoExecutionException;
 9  
 
 10  
 /**
 11  
  * Display help information on maven-site-plugin.<br/> Call <pre>  mvn site:help -Ddetail=true -Dgoal=&lt;goal-name&gt;</pre> to display parameter details.
 12  
  *
 13  
  * @version generated on Fri Apr 27 23:43:09 CEST 2012
 14  
  * @author org.apache.maven.tools.plugin.generator.PluginHelpGenerator (version 2.8)
 15  
  * @goal help
 16  
  * @requiresProject false
 17  
  * @threadSafe
 18  
  */
 19  
 @SuppressWarnings( "all" )
 20  0
 public class HelpMojo
 21  
     extends AbstractMojo
 22  
 {
 23  
     /**
 24  
      * If <code>true</code>, display all settable properties for each goal.
 25  
      * 
 26  
      * @parameter expression="${detail}" default-value="false"
 27  
      */
 28  
     private boolean detail;
 29  
 
 30  
     /**
 31  
      * The name of the goal for which to show help. If unspecified, all goals will be displayed.
 32  
      * 
 33  
      * @parameter expression="${goal}"
 34  
      */
 35  
     private java.lang.String goal;
 36  
 
 37  
     /**
 38  
      * The maximum length of a display line, should be positive.
 39  
      * 
 40  
      * @parameter expression="${lineLength}" default-value="80"
 41  
      */
 42  
     private int lineLength;
 43  
 
 44  
     /**
 45  
      * The number of spaces per indentation level, should be positive.
 46  
      * 
 47  
      * @parameter expression="${indentSize}" default-value="2"
 48  
      */
 49  
     private int indentSize;
 50  
 
 51  
 
 52  
     /** {@inheritDoc} */
 53  
     public void execute()
 54  
         throws MojoExecutionException
 55  
     {
 56  0
         if ( lineLength <= 0 )
 57  
         {
 58  0
             getLog().warn( "The parameter 'lineLength' should be positive, using '80' as default." );
 59  0
             lineLength = 80;
 60  
         }
 61  0
         if ( indentSize <= 0 )
 62  
         {
 63  0
             getLog().warn( "The parameter 'indentSize' should be positive, using '2' as default." );
 64  0
             indentSize = 2;
 65  
         }
 66  
 
 67  0
         StringBuffer sb = new StringBuffer();
 68  
 
 69  0
         append( sb, "org.apache.maven.plugins:maven-site-plugin:3.1", 0 );
 70  0
         append( sb, "", 0 );
 71  
 
 72  0
         append( sb, "Maven Site Plugin 3", 0 );
 73  0
         append( sb, "The Maven Site Plugin is a plugin that generates a site for the current project.", 1 );
 74  0
         append( sb, "", 0 );
 75  
 
 76  0
         if ( goal == null || goal.length() <= 0 )
 77  
         {
 78  0
             append( sb, "This plugin has 9 goals:", 0 );
 79  0
             append( sb, "", 0 );
 80  
         }
 81  
 
 82  0
         if ( goal == null || goal.length() <= 0 || "attach-descriptor".equals( goal ) )
 83  
         {
 84  0
             append( sb, "site:attach-descriptor", 0 );
 85  0
             append( sb, "Adds the site descriptor (site.xml) to the list of files to be installed/deployed.\nFor Maven-2.x this is enabled by default only when the project has pom packaging since it will be used by modules inheriting, but this can be enabled for other projects packaging if needed.\nThis default execution has been removed from the built-in lifecycle of Maven 3.x for pom-projects. Users that actually use those projects to provide a common site descriptor for sub modules will need to explicitly define this goal execution to restore the intended behavior.", 1 );
 86  0
             append( sb, "", 0 );
 87  0
             if ( detail )
 88  
             {
 89  0
                 append( sb, "Available parameters:", 1 );
 90  0
                 append( sb, "", 0 );
 91  
 
 92  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 93  0
                 append( sb, "Specifies the input encoding.", 3 );
 94  0
                 append( sb, "Expression: ${encoding}", 3 );
 95  0
                 append( sb, "", 0 );
 96  
 
 97  0
                 append( sb, "locales", 2 );
 98  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 99  0
                 append( sb, "Expression: ${locales}", 3 );
 100  0
                 append( sb, "", 0 );
 101  
 
 102  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 103  0
                 append( sb, "Specifies the output encoding.", 3 );
 104  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 105  0
                 append( sb, "", 0 );
 106  
 
 107  0
                 append( sb, "pomPackagingOnly (Default: true)", 2 );
 108  0
                 append( sb, "(no description available)", 3 );
 109  0
                 append( sb, "", 0 );
 110  
 
 111  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 112  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 113  0
                 append( sb, "", 0 );
 114  
             }
 115  
         }
 116  
 
 117  0
         if ( goal == null || goal.length() <= 0 || "deploy".equals( goal ) )
 118  
         {
 119  0
             append( sb, "site:deploy", 0 );
 120  0
             append( sb, "Deploys the generated site using wagon supported protocols to the site URL specified in the <distributionManagement> section of the POM.\nFor scp protocol, the website files are packaged by wagon into zip archive, then the archive is transfered to the remote host, next it is un-archived which is much faster than making a file by file copy.\n", 1 );
 121  0
             append( sb, "", 0 );
 122  0
             if ( detail )
 123  
             {
 124  0
                 append( sb, "Available parameters:", 1 );
 125  0
                 append( sb, "", 0 );
 126  
 
 127  0
                 append( sb, "chmod (Default: true)", 2 );
 128  0
                 append( sb, "Whether to run the \'chmod\' command on the remote site after the deploy. Defaults to \'true\'.", 3 );
 129  0
                 append( sb, "Expression: ${maven.site.chmod}", 3 );
 130  0
                 append( sb, "", 0 );
 131  
 
 132  0
                 append( sb, "chmodMode (Default: g+w,a+rX)", 2 );
 133  0
                 append( sb, "The mode used by the \'chmod\' command. Only used if chmod = true. Defaults to \'g+w,a+rX\'.", 3 );
 134  0
                 append( sb, "Expression: ${maven.site.chmod.mode}", 3 );
 135  0
                 append( sb, "", 0 );
 136  
 
 137  0
                 append( sb, "chmodOptions (Default: -Rf)", 2 );
 138  0
                 append( sb, "The options used by the \'chmod\' command. Only used if chmod = true. Defaults to \'-Rf\'.", 3 );
 139  0
                 append( sb, "Expression: ${maven.site.chmod.options}", 3 );
 140  0
                 append( sb, "", 0 );
 141  
 
 142  0
                 append( sb, "inputDirectory", 2 );
 143  0
                 append( sb, "Directory containing the generated project sites and report distributions.", 3 );
 144  0
                 append( sb, "Required: Yes", 3 );
 145  0
                 append( sb, "Expression: ${project.reporting.outputDirectory}", 3 );
 146  0
                 append( sb, "", 0 );
 147  
 
 148  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 149  0
                 append( sb, "Specifies the input encoding.", 3 );
 150  0
                 append( sb, "Expression: ${encoding}", 3 );
 151  0
                 append( sb, "", 0 );
 152  
 
 153  0
                 append( sb, "locales", 2 );
 154  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 155  0
                 append( sb, "Expression: ${locales}", 3 );
 156  0
                 append( sb, "", 0 );
 157  
 
 158  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 159  0
                 append( sb, "Specifies the output encoding.", 3 );
 160  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 161  0
                 append( sb, "", 0 );
 162  
 
 163  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 164  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 165  0
                 append( sb, "", 0 );
 166  
 
 167  0
                 append( sb, "skipDeploy (Default: false)", 2 );
 168  0
                 append( sb, "Set this to \'true\' to skip site deployment.", 3 );
 169  0
                 append( sb, "Expression: ${maven.site.deploy.skip}", 3 );
 170  0
                 append( sb, "", 0 );
 171  
             }
 172  
         }
 173  
 
 174  0
         if ( goal == null || goal.length() <= 0 || "effective-site".equals( goal ) )
 175  
         {
 176  0
             append( sb, "site:effective-site", 0 );
 177  0
             append( sb, "Displays the effective site descriptor as an XML for this build, after inheritance and interpolation of site.xml.", 1 );
 178  0
             append( sb, "", 0 );
 179  0
             if ( detail )
 180  
             {
 181  0
                 append( sb, "Available parameters:", 1 );
 182  0
                 append( sb, "", 0 );
 183  
 
 184  0
                 append( sb, "attributes", 2 );
 185  0
                 append( sb, "Additional template properties for rendering the site. See Doxia Site Renderer.", 3 );
 186  0
                 append( sb, "", 0 );
 187  
 
 188  0
                 append( sb, "generatedSiteDirectory (Default: ${project.build.directory}/generated-site)", 2 );
 189  0
                 append( sb, "Directory containing generated documentation. This is used to pick up other source docs that might have been generated at build time.", 3 );
 190  0
                 append( sb, "", 0 );
 191  
 
 192  0
                 append( sb, "generateProjectInfo (Default: true)", 2 );
 193  0
                 append( sb, "Whether to generate the summary page for project reports: project-info.html.", 3 );
 194  0
                 append( sb, "Expression: ${generateProjectInfo}", 3 );
 195  0
                 append( sb, "", 0 );
 196  
 
 197  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 198  0
                 append( sb, "Specifies the input encoding.", 3 );
 199  0
                 append( sb, "Expression: ${encoding}", 3 );
 200  0
                 append( sb, "", 0 );
 201  
 
 202  0
                 append( sb, "locales", 2 );
 203  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 204  0
                 append( sb, "Expression: ${locales}", 3 );
 205  0
                 append( sb, "", 0 );
 206  
 
 207  0
                 append( sb, "moduleExcludes", 2 );
 208  0
                 append( sb, "Module type exclusion mappings ex: fml -> **/*-m1.fml (excludes fml files ending in \'-m1.fml\' recursively) The configuration looks like this:\n\u00a0\u00a0<moduleExcludes>\n\u00a0\u00a0\u00a0\u00a0<moduleType>filename1.ext,**/*sample.ext</moduleType>\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0moduleType\u00a0can\u00a0be\u00a0one\u00a0of\u00a0\'apt\',\u00a0\'fml\'\u00a0or\u00a0\'xdoc\'.\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0The\u00a0value\u00a0is\u00a0a\u00a0comma\u00a0separated\u00a0list\u00a0of\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0filenames\u00a0or\u00a0fileset\u00a0patterns.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0Here\'s\u00a0an\u00a0example:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<xdoc>changes.xml,navigation.xml</xdoc>\n\u00a0\u00a0</moduleExcludes>\n", 3 );
 209  0
                 append( sb, "", 0 );
 210  
 
 211  0
                 append( sb, "output", 2 );
 212  0
                 append( sb, "Optional parameter to write the output of this help in a given file, instead of writing to the console.\nNote: Could be a relative path.", 3 );
 213  0
                 append( sb, "Expression: ${output}", 3 );
 214  0
                 append( sb, "", 0 );
 215  
 
 216  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 217  0
                 append( sb, "Specifies the output encoding.", 3 );
 218  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 219  0
                 append( sb, "", 0 );
 220  
 
 221  0
                 append( sb, "relativizeDecorationLinks (Default: true)", 2 );
 222  0
                 append( sb, "Make links in the site descriptor relative to the project URL. By default, any absolute links that appear in the site descriptor, e.g. banner hrefs, breadcrumbs, menu links, etc., will be made relative to project.url. Links will not be changed if this is set to false, or if the project has no URL defined.", 3 );
 223  0
                 append( sb, "Expression: ${relativizeDecorationLinks}", 3 );
 224  0
                 append( sb, "", 0 );
 225  
 
 226  0
                 append( sb, "reportPlugins", 2 );
 227  0
                 append( sb, "Configuration section used internally by Maven 3.\n\nMore details available here: http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats\n\nNote: using this field is not mandatory with Maven 3 as Maven core injects usual <reporting> section into this field.\n", 3 );
 228  0
                 append( sb, "", 0 );
 229  
 
 230  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 231  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 232  0
                 append( sb, "", 0 );
 233  
 
 234  0
                 append( sb, "template", 2 );
 235  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 236  0
                 append( sb, "", 0 );
 237  0
                 append( sb, "Default template page.", 3 );
 238  0
                 append( sb, "Expression: ${template}", 3 );
 239  0
                 append( sb, "", 0 );
 240  
 
 241  0
                 append( sb, "templateDirectory (Default: src/site)", 2 );
 242  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 243  0
                 append( sb, "", 0 );
 244  0
                 append( sb, "Directory containing the template page.", 3 );
 245  0
                 append( sb, "Expression: ${templateDirectory}", 3 );
 246  0
                 append( sb, "", 0 );
 247  
 
 248  0
                 append( sb, "templateFile", 2 );
 249  0
                 append( sb, "The location of a Velocity template file to use. When used, skins and the default templates, CSS and images are disabled. It is highly recommended that you package this as a skin instead.", 3 );
 250  0
                 append( sb, "Expression: ${templateFile}", 3 );
 251  0
                 append( sb, "", 0 );
 252  
 
 253  0
                 append( sb, "xdocDirectory (Default: ${basedir}/xdocs)", 2 );
 254  0
                 append( sb, "Deprecated. use the standard m2 directory layout", 3 );
 255  0
                 append( sb, "", 0 );
 256  0
                 append( sb, "Alternative directory for xdoc source, useful for m1 to m2 migration", 3 );
 257  0
                 append( sb, "", 0 );
 258  
             }
 259  
         }
 260  
 
 261  0
         if ( goal == null || goal.length() <= 0 || "help".equals( goal ) )
 262  
         {
 263  0
             append( sb, "site:help", 0 );
 264  0
             append( sb, "Display help information on maven-site-plugin.\nCall\n\u00a0\u00a0mvn\u00a0site:help\u00a0-Ddetail=true\u00a0-Dgoal=<goal-name>\nto display parameter details.", 1 );
 265  0
             append( sb, "", 0 );
 266  0
             if ( detail )
 267  
             {
 268  0
                 append( sb, "Available parameters:", 1 );
 269  0
                 append( sb, "", 0 );
 270  
 
 271  0
                 append( sb, "detail (Default: false)", 2 );
 272  0
                 append( sb, "If true, display all settable properties for each goal.", 3 );
 273  0
                 append( sb, "Expression: ${detail}", 3 );
 274  0
                 append( sb, "", 0 );
 275  
 
 276  0
                 append( sb, "goal", 2 );
 277  0
                 append( sb, "The name of the goal for which to show help. If unspecified, all goals will be displayed.", 3 );
 278  0
                 append( sb, "Expression: ${goal}", 3 );
 279  0
                 append( sb, "", 0 );
 280  
 
 281  0
                 append( sb, "indentSize (Default: 2)", 2 );
 282  0
                 append( sb, "The number of spaces per indentation level, should be positive.", 3 );
 283  0
                 append( sb, "Expression: ${indentSize}", 3 );
 284  0
                 append( sb, "", 0 );
 285  
 
 286  0
                 append( sb, "lineLength (Default: 80)", 2 );
 287  0
                 append( sb, "The maximum length of a display line, should be positive.", 3 );
 288  0
                 append( sb, "Expression: ${lineLength}", 3 );
 289  0
                 append( sb, "", 0 );
 290  
             }
 291  
         }
 292  
 
 293  0
         if ( goal == null || goal.length() <= 0 || "jar".equals( goal ) )
 294  
         {
 295  0
             append( sb, "site:jar", 0 );
 296  0
             append( sb, "Bundles the site output into a JAR so that it can be deployed to a repository.", 1 );
 297  0
             append( sb, "", 0 );
 298  0
             if ( detail )
 299  
             {
 300  0
                 append( sb, "Available parameters:", 1 );
 301  0
                 append( sb, "", 0 );
 302  
 
 303  0
                 append( sb, "archive", 2 );
 304  0
                 append( sb, "The archive configuration to use. See Maven Archiver Reference.", 3 );
 305  0
                 append( sb, "", 0 );
 306  
 
 307  0
                 append( sb, "archiveExcludes", 2 );
 308  0
                 append( sb, "List of files to exclude. Specified as file set patterns which are relative to the input directory whose contents is being packaged into the JAR.", 3 );
 309  0
                 append( sb, "", 0 );
 310  
 
 311  0
                 append( sb, "archiveIncludes", 2 );
 312  0
                 append( sb, "List of files to include. Specified as file set patterns which are relative to the input directory whose contents is being packaged into the JAR.", 3 );
 313  0
                 append( sb, "", 0 );
 314  
 
 315  0
                 append( sb, "attach (Default: true)", 2 );
 316  0
                 append( sb, "Specifies whether to attach the generated artifact to the project.", 3 );
 317  0
                 append( sb, "Expression: ${site.attach}", 3 );
 318  0
                 append( sb, "", 0 );
 319  
 
 320  0
                 append( sb, "attributes", 2 );
 321  0
                 append( sb, "Additional template properties for rendering the site. See Doxia Site Renderer.", 3 );
 322  0
                 append( sb, "", 0 );
 323  
 
 324  0
                 append( sb, "finalName", 2 );
 325  0
                 append( sb, "Specifies the filename that will be used for the generated jar file. Please note that \'-site\' will be appended to the file name.", 3 );
 326  0
                 append( sb, "Required: Yes", 3 );
 327  0
                 append( sb, "Expression: ${project.build.finalName}", 3 );
 328  0
                 append( sb, "", 0 );
 329  
 
 330  0
                 append( sb, "generatedSiteDirectory (Default: ${project.build.directory}/generated-site)", 2 );
 331  0
                 append( sb, "Directory containing generated documentation. This is used to pick up other source docs that might have been generated at build time.", 3 );
 332  0
                 append( sb, "", 0 );
 333  
 
 334  0
                 append( sb, "generateProjectInfo (Default: true)", 2 );
 335  0
                 append( sb, "Whether to generate the summary page for project reports: project-info.html.", 3 );
 336  0
                 append( sb, "Expression: ${generateProjectInfo}", 3 );
 337  0
                 append( sb, "", 0 );
 338  
 
 339  0
                 append( sb, "generateReports (Default: true)", 2 );
 340  0
                 append( sb, "Convenience parameter that allows you to disable report generation.", 3 );
 341  0
                 append( sb, "Expression: ${generateReports}", 3 );
 342  0
                 append( sb, "", 0 );
 343  
 
 344  0
                 append( sb, "generateSitemap (Default: false)", 2 );
 345  0
                 append( sb, "Generate a sitemap. The result will be a \'sitemap.html\' file at the site root.", 3 );
 346  0
                 append( sb, "Expression: ${generateSitemap}", 3 );
 347  0
                 append( sb, "", 0 );
 348  
 
 349  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 350  0
                 append( sb, "Specifies the input encoding.", 3 );
 351  0
                 append( sb, "Expression: ${encoding}", 3 );
 352  0
                 append( sb, "", 0 );
 353  
 
 354  0
                 append( sb, "jarOutputDirectory", 2 );
 355  0
                 append( sb, "Specifies the directory where the generated jar file will be put.", 3 );
 356  0
                 append( sb, "Required: Yes", 3 );
 357  0
                 append( sb, "Expression: ${project.build.directory}", 3 );
 358  0
                 append( sb, "", 0 );
 359  
 
 360  0
                 append( sb, "locales", 2 );
 361  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 362  0
                 append( sb, "Expression: ${locales}", 3 );
 363  0
                 append( sb, "", 0 );
 364  
 
 365  0
                 append( sb, "moduleExcludes", 2 );
 366  0
                 append( sb, "Module type exclusion mappings ex: fml -> **/*-m1.fml (excludes fml files ending in \'-m1.fml\' recursively) The configuration looks like this:\n\u00a0\u00a0<moduleExcludes>\n\u00a0\u00a0\u00a0\u00a0<moduleType>filename1.ext,**/*sample.ext</moduleType>\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0moduleType\u00a0can\u00a0be\u00a0one\u00a0of\u00a0\'apt\',\u00a0\'fml\'\u00a0or\u00a0\'xdoc\'.\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0The\u00a0value\u00a0is\u00a0a\u00a0comma\u00a0separated\u00a0list\u00a0of\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0filenames\u00a0or\u00a0fileset\u00a0patterns.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0Here\'s\u00a0an\u00a0example:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<xdoc>changes.xml,navigation.xml</xdoc>\n\u00a0\u00a0</moduleExcludes>\n", 3 );
 367  0
                 append( sb, "", 0 );
 368  
 
 369  0
                 append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
 370  0
                 append( sb, "Directory where the project sites and report distributions will be generated.", 3 );
 371  0
                 append( sb, "Expression: ${siteOutputDirectory}", 3 );
 372  0
                 append( sb, "", 0 );
 373  
 
 374  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 375  0
                 append( sb, "Specifies the output encoding.", 3 );
 376  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 377  0
                 append( sb, "", 0 );
 378  
 
 379  0
                 append( sb, "relativizeDecorationLinks (Default: true)", 2 );
 380  0
                 append( sb, "Make links in the site descriptor relative to the project URL. By default, any absolute links that appear in the site descriptor, e.g. banner hrefs, breadcrumbs, menu links, etc., will be made relative to project.url. Links will not be changed if this is set to false, or if the project has no URL defined.", 3 );
 381  0
                 append( sb, "Expression: ${relativizeDecorationLinks}", 3 );
 382  0
                 append( sb, "", 0 );
 383  
 
 384  0
                 append( sb, "reportPlugins", 2 );
 385  0
                 append( sb, "Configuration section used internally by Maven 3.\n\nMore details available here: http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats\n\nNote: using this field is not mandatory with Maven 3 as Maven core injects usual <reporting> section into this field.\n", 3 );
 386  0
                 append( sb, "", 0 );
 387  
 
 388  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 389  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 390  0
                 append( sb, "", 0 );
 391  
 
 392  0
                 append( sb, "skip (Default: false)", 2 );
 393  0
                 append( sb, "Set this to \'true\' to skip site generation.", 3 );
 394  0
                 append( sb, "Expression: ${maven.site.skip}", 3 );
 395  0
                 append( sb, "", 0 );
 396  
 
 397  0
                 append( sb, "template", 2 );
 398  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 399  0
                 append( sb, "", 0 );
 400  0
                 append( sb, "Default template page.", 3 );
 401  0
                 append( sb, "Expression: ${template}", 3 );
 402  0
                 append( sb, "", 0 );
 403  
 
 404  0
                 append( sb, "templateDirectory (Default: src/site)", 2 );
 405  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 406  0
                 append( sb, "", 0 );
 407  0
                 append( sb, "Directory containing the template page.", 3 );
 408  0
                 append( sb, "Expression: ${templateDirectory}", 3 );
 409  0
                 append( sb, "", 0 );
 410  
 
 411  0
                 append( sb, "templateFile", 2 );
 412  0
                 append( sb, "The location of a Velocity template file to use. When used, skins and the default templates, CSS and images are disabled. It is highly recommended that you package this as a skin instead.", 3 );
 413  0
                 append( sb, "Expression: ${templateFile}", 3 );
 414  0
                 append( sb, "", 0 );
 415  
 
 416  0
                 append( sb, "validate (Default: false)", 2 );
 417  0
                 append( sb, "Whether to validate xml input documents. If set to true, all input documents in xml format (in particular xdoc and fml) will be validated and any error will lead to a build failure.", 3 );
 418  0
                 append( sb, "Expression: ${validate}", 3 );
 419  0
                 append( sb, "", 0 );
 420  
 
 421  0
                 append( sb, "xdocDirectory (Default: ${basedir}/xdocs)", 2 );
 422  0
                 append( sb, "Deprecated. use the standard m2 directory layout", 3 );
 423  0
                 append( sb, "", 0 );
 424  0
                 append( sb, "Alternative directory for xdoc source, useful for m1 to m2 migration", 3 );
 425  0
                 append( sb, "", 0 );
 426  
             }
 427  
         }
 428  
 
 429  0
         if ( goal == null || goal.length() <= 0 || "run".equals( goal ) )
 430  
         {
 431  0
             append( sb, "site:run", 0 );
 432  0
             append( sb, "Starts the site up, rendering documents as requested for faster editing. It uses Jetty as the web server.", 1 );
 433  0
             append( sb, "", 0 );
 434  0
             if ( detail )
 435  
             {
 436  0
                 append( sb, "Available parameters:", 1 );
 437  0
                 append( sb, "", 0 );
 438  
 
 439  0
                 append( sb, "attributes", 2 );
 440  0
                 append( sb, "Additional template properties for rendering the site. See Doxia Site Renderer.", 3 );
 441  0
                 append( sb, "", 0 );
 442  
 
 443  0
                 append( sb, "generatedSiteDirectory (Default: ${project.build.directory}/generated-site)", 2 );
 444  0
                 append( sb, "Directory containing generated documentation. This is used to pick up other source docs that might have been generated at build time.", 3 );
 445  0
                 append( sb, "", 0 );
 446  
 
 447  0
                 append( sb, "generateProjectInfo (Default: true)", 2 );
 448  0
                 append( sb, "Whether to generate the summary page for project reports: project-info.html.", 3 );
 449  0
                 append( sb, "Expression: ${generateProjectInfo}", 3 );
 450  0
                 append( sb, "", 0 );
 451  
 
 452  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 453  0
                 append( sb, "Specifies the input encoding.", 3 );
 454  0
                 append( sb, "Expression: ${encoding}", 3 );
 455  0
                 append( sb, "", 0 );
 456  
 
 457  0
                 append( sb, "locales", 2 );
 458  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 459  0
                 append( sb, "Expression: ${locales}", 3 );
 460  0
                 append( sb, "", 0 );
 461  
 
 462  0
                 append( sb, "moduleExcludes", 2 );
 463  0
                 append( sb, "Module type exclusion mappings ex: fml -> **/*-m1.fml (excludes fml files ending in \'-m1.fml\' recursively) The configuration looks like this:\n\u00a0\u00a0<moduleExcludes>\n\u00a0\u00a0\u00a0\u00a0<moduleType>filename1.ext,**/*sample.ext</moduleType>\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0moduleType\u00a0can\u00a0be\u00a0one\u00a0of\u00a0\'apt\',\u00a0\'fml\'\u00a0or\u00a0\'xdoc\'.\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0The\u00a0value\u00a0is\u00a0a\u00a0comma\u00a0separated\u00a0list\u00a0of\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0filenames\u00a0or\u00a0fileset\u00a0patterns.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0Here\'s\u00a0an\u00a0example:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<xdoc>changes.xml,navigation.xml</xdoc>\n\u00a0\u00a0</moduleExcludes>\n", 3 );
 464  0
                 append( sb, "", 0 );
 465  
 
 466  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 467  0
                 append( sb, "Specifies the output encoding.", 3 );
 468  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 469  0
                 append( sb, "", 0 );
 470  
 
 471  0
                 append( sb, "port (Default: 8080)", 2 );
 472  0
                 append( sb, "The port to execute the HTTP server on.", 3 );
 473  0
                 append( sb, "Expression: ${port}", 3 );
 474  0
                 append( sb, "", 0 );
 475  
 
 476  0
                 append( sb, "relativizeDecorationLinks (Default: true)", 2 );
 477  0
                 append( sb, "Make links in the site descriptor relative to the project URL. By default, any absolute links that appear in the site descriptor, e.g. banner hrefs, breadcrumbs, menu links, etc., will be made relative to project.url. Links will not be changed if this is set to false, or if the project has no URL defined.", 3 );
 478  0
                 append( sb, "Expression: ${relativizeDecorationLinks}", 3 );
 479  0
                 append( sb, "", 0 );
 480  
 
 481  0
                 append( sb, "reportPlugins", 2 );
 482  0
                 append( sb, "Configuration section used internally by Maven 3.\n\nMore details available here: http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats\n\nNote: using this field is not mandatory with Maven 3 as Maven core injects usual <reporting> section into this field.\n", 3 );
 483  0
                 append( sb, "", 0 );
 484  
 
 485  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 486  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 487  0
                 append( sb, "", 0 );
 488  
 
 489  0
                 append( sb, "template", 2 );
 490  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 491  0
                 append( sb, "", 0 );
 492  0
                 append( sb, "Default template page.", 3 );
 493  0
                 append( sb, "Expression: ${template}", 3 );
 494  0
                 append( sb, "", 0 );
 495  
 
 496  0
                 append( sb, "templateDirectory (Default: src/site)", 2 );
 497  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 498  0
                 append( sb, "", 0 );
 499  0
                 append( sb, "Directory containing the template page.", 3 );
 500  0
                 append( sb, "Expression: ${templateDirectory}", 3 );
 501  0
                 append( sb, "", 0 );
 502  
 
 503  0
                 append( sb, "templateFile", 2 );
 504  0
                 append( sb, "The location of a Velocity template file to use. When used, skins and the default templates, CSS and images are disabled. It is highly recommended that you package this as a skin instead.", 3 );
 505  0
                 append( sb, "Expression: ${templateFile}", 3 );
 506  0
                 append( sb, "", 0 );
 507  
 
 508  0
                 append( sb, "tempWebappDirectory", 2 );
 509  0
                 append( sb, "Where to create the dummy web application.", 3 );
 510  0
                 append( sb, "Expression: ${project.build.directory}/site-webapp", 3 );
 511  0
                 append( sb, "", 0 );
 512  
 
 513  0
                 append( sb, "xdocDirectory (Default: ${basedir}/xdocs)", 2 );
 514  0
                 append( sb, "Deprecated. use the standard m2 directory layout", 3 );
 515  0
                 append( sb, "", 0 );
 516  0
                 append( sb, "Alternative directory for xdoc source, useful for m1 to m2 migration", 3 );
 517  0
                 append( sb, "", 0 );
 518  
             }
 519  
         }
 520  
 
 521  0
         if ( goal == null || goal.length() <= 0 || "site".equals( goal ) )
 522  
         {
 523  0
             append( sb, "site:site", 0 );
 524  0
             append( sb, "Generates the site for a single project.\nNote that links between module sites in a multi module build will not work.\n", 1 );
 525  0
             append( sb, "", 0 );
 526  0
             if ( detail )
 527  
             {
 528  0
                 append( sb, "Available parameters:", 1 );
 529  0
                 append( sb, "", 0 );
 530  
 
 531  0
                 append( sb, "attributes", 2 );
 532  0
                 append( sb, "Additional template properties for rendering the site. See Doxia Site Renderer.", 3 );
 533  0
                 append( sb, "", 0 );
 534  
 
 535  0
                 append( sb, "generatedSiteDirectory (Default: ${project.build.directory}/generated-site)", 2 );
 536  0
                 append( sb, "Directory containing generated documentation. This is used to pick up other source docs that might have been generated at build time.", 3 );
 537  0
                 append( sb, "", 0 );
 538  
 
 539  0
                 append( sb, "generateProjectInfo (Default: true)", 2 );
 540  0
                 append( sb, "Whether to generate the summary page for project reports: project-info.html.", 3 );
 541  0
                 append( sb, "Expression: ${generateProjectInfo}", 3 );
 542  0
                 append( sb, "", 0 );
 543  
 
 544  0
                 append( sb, "generateReports (Default: true)", 2 );
 545  0
                 append( sb, "Convenience parameter that allows you to disable report generation.", 3 );
 546  0
                 append( sb, "Expression: ${generateReports}", 3 );
 547  0
                 append( sb, "", 0 );
 548  
 
 549  0
                 append( sb, "generateSitemap (Default: false)", 2 );
 550  0
                 append( sb, "Generate a sitemap. The result will be a \'sitemap.html\' file at the site root.", 3 );
 551  0
                 append( sb, "Expression: ${generateSitemap}", 3 );
 552  0
                 append( sb, "", 0 );
 553  
 
 554  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 555  0
                 append( sb, "Specifies the input encoding.", 3 );
 556  0
                 append( sb, "Expression: ${encoding}", 3 );
 557  0
                 append( sb, "", 0 );
 558  
 
 559  0
                 append( sb, "locales", 2 );
 560  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 561  0
                 append( sb, "Expression: ${locales}", 3 );
 562  0
                 append( sb, "", 0 );
 563  
 
 564  0
                 append( sb, "moduleExcludes", 2 );
 565  0
                 append( sb, "Module type exclusion mappings ex: fml -> **/*-m1.fml (excludes fml files ending in \'-m1.fml\' recursively) The configuration looks like this:\n\u00a0\u00a0<moduleExcludes>\n\u00a0\u00a0\u00a0\u00a0<moduleType>filename1.ext,**/*sample.ext</moduleType>\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0moduleType\u00a0can\u00a0be\u00a0one\u00a0of\u00a0\'apt\',\u00a0\'fml\'\u00a0or\u00a0\'xdoc\'.\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0The\u00a0value\u00a0is\u00a0a\u00a0comma\u00a0separated\u00a0list\u00a0of\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0filenames\u00a0or\u00a0fileset\u00a0patterns.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<!--\u00a0Here\'s\u00a0an\u00a0example:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-->\n\u00a0\u00a0\u00a0\u00a0<xdoc>changes.xml,navigation.xml</xdoc>\n\u00a0\u00a0</moduleExcludes>\n", 3 );
 566  0
                 append( sb, "", 0 );
 567  
 
 568  0
                 append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
 569  0
                 append( sb, "Directory where the project sites and report distributions will be generated.", 3 );
 570  0
                 append( sb, "Expression: ${siteOutputDirectory}", 3 );
 571  0
                 append( sb, "", 0 );
 572  
 
 573  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 574  0
                 append( sb, "Specifies the output encoding.", 3 );
 575  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 576  0
                 append( sb, "", 0 );
 577  
 
 578  0
                 append( sb, "relativizeDecorationLinks (Default: true)", 2 );
 579  0
                 append( sb, "Make links in the site descriptor relative to the project URL. By default, any absolute links that appear in the site descriptor, e.g. banner hrefs, breadcrumbs, menu links, etc., will be made relative to project.url. Links will not be changed if this is set to false, or if the project has no URL defined.", 3 );
 580  0
                 append( sb, "Expression: ${relativizeDecorationLinks}", 3 );
 581  0
                 append( sb, "", 0 );
 582  
 
 583  0
                 append( sb, "reportPlugins", 2 );
 584  0
                 append( sb, "Configuration section used internally by Maven 3.\n\nMore details available here: http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats\n\nNote: using this field is not mandatory with Maven 3 as Maven core injects usual <reporting> section into this field.\n", 3 );
 585  0
                 append( sb, "", 0 );
 586  
 
 587  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 588  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 589  0
                 append( sb, "", 0 );
 590  
 
 591  0
                 append( sb, "skip (Default: false)", 2 );
 592  0
                 append( sb, "Set this to \'true\' to skip site generation.", 3 );
 593  0
                 append( sb, "Expression: ${maven.site.skip}", 3 );
 594  0
                 append( sb, "", 0 );
 595  
 
 596  0
                 append( sb, "template", 2 );
 597  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 598  0
                 append( sb, "", 0 );
 599  0
                 append( sb, "Default template page.", 3 );
 600  0
                 append( sb, "Expression: ${template}", 3 );
 601  0
                 append( sb, "", 0 );
 602  
 
 603  0
                 append( sb, "templateDirectory (Default: src/site)", 2 );
 604  0
                 append( sb, "Deprecated. use templateFile or skinning instead", 3 );
 605  0
                 append( sb, "", 0 );
 606  0
                 append( sb, "Directory containing the template page.", 3 );
 607  0
                 append( sb, "Expression: ${templateDirectory}", 3 );
 608  0
                 append( sb, "", 0 );
 609  
 
 610  0
                 append( sb, "templateFile", 2 );
 611  0
                 append( sb, "The location of a Velocity template file to use. When used, skins and the default templates, CSS and images are disabled. It is highly recommended that you package this as a skin instead.", 3 );
 612  0
                 append( sb, "Expression: ${templateFile}", 3 );
 613  0
                 append( sb, "", 0 );
 614  
 
 615  0
                 append( sb, "validate (Default: false)", 2 );
 616  0
                 append( sb, "Whether to validate xml input documents. If set to true, all input documents in xml format (in particular xdoc and fml) will be validated and any error will lead to a build failure.", 3 );
 617  0
                 append( sb, "Expression: ${validate}", 3 );
 618  0
                 append( sb, "", 0 );
 619  
 
 620  0
                 append( sb, "xdocDirectory (Default: ${basedir}/xdocs)", 2 );
 621  0
                 append( sb, "Deprecated. use the standard m2 directory layout", 3 );
 622  0
                 append( sb, "", 0 );
 623  0
                 append( sb, "Alternative directory for xdoc source, useful for m1 to m2 migration", 3 );
 624  0
                 append( sb, "", 0 );
 625  
             }
 626  
         }
 627  
 
 628  0
         if ( goal == null || goal.length() <= 0 || "stage".equals( goal ) )
 629  
         {
 630  0
             append( sb, "site:stage", 0 );
 631  0
             append( sb, "Deploys the generated site to a local staging or mock directory based on the site URL specified in the <distributionManagement> section of the POM.\nIt can be used to test that links between module sites in a multi-module build works.\n", 1 );
 632  0
             append( sb, "", 0 );
 633  0
             if ( detail )
 634  
             {
 635  0
                 append( sb, "Available parameters:", 1 );
 636  0
                 append( sb, "", 0 );
 637  
 
 638  0
                 append( sb, "chmod (Default: true)", 2 );
 639  0
                 append( sb, "Whether to run the \'chmod\' command on the remote site after the deploy. Defaults to \'true\'.", 3 );
 640  0
                 append( sb, "Expression: ${maven.site.chmod}", 3 );
 641  0
                 append( sb, "", 0 );
 642  
 
 643  0
                 append( sb, "chmodMode (Default: g+w,a+rX)", 2 );
 644  0
                 append( sb, "The mode used by the \'chmod\' command. Only used if chmod = true. Defaults to \'g+w,a+rX\'.", 3 );
 645  0
                 append( sb, "Expression: ${maven.site.chmod.mode}", 3 );
 646  0
                 append( sb, "", 0 );
 647  
 
 648  0
                 append( sb, "chmodOptions (Default: -Rf)", 2 );
 649  0
                 append( sb, "The options used by the \'chmod\' command. Only used if chmod = true. Defaults to \'-Rf\'.", 3 );
 650  0
                 append( sb, "Expression: ${maven.site.chmod.options}", 3 );
 651  0
                 append( sb, "", 0 );
 652  
 
 653  0
                 append( sb, "inputDirectory", 2 );
 654  0
                 append( sb, "Directory containing the generated project sites and report distributions.", 3 );
 655  0
                 append( sb, "Required: Yes", 3 );
 656  0
                 append( sb, "Expression: ${project.reporting.outputDirectory}", 3 );
 657  0
                 append( sb, "", 0 );
 658  
 
 659  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 660  0
                 append( sb, "Specifies the input encoding.", 3 );
 661  0
                 append( sb, "Expression: ${encoding}", 3 );
 662  0
                 append( sb, "", 0 );
 663  
 
 664  0
                 append( sb, "locales", 2 );
 665  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 666  0
                 append( sb, "Expression: ${locales}", 3 );
 667  0
                 append( sb, "", 0 );
 668  
 
 669  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 670  0
                 append( sb, "Specifies the output encoding.", 3 );
 671  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 672  0
                 append( sb, "", 0 );
 673  
 
 674  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 675  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 676  0
                 append( sb, "", 0 );
 677  
 
 678  0
                 append( sb, "skipDeploy (Default: false)", 2 );
 679  0
                 append( sb, "Set this to \'true\' to skip site deployment.", 3 );
 680  0
                 append( sb, "Expression: ${maven.site.deploy.skip}", 3 );
 681  0
                 append( sb, "", 0 );
 682  
 
 683  0
                 append( sb, "stagingDirectory", 2 );
 684  0
                 append( sb, "Staging directory location. This needs to be an absolute path, like C:\\stagingArea\\myProject\\ on Windows or /stagingArea/myProject/ on Unix. If this is not specified, the site will be staged in ${project.build.directory}/staging.", 3 );
 685  0
                 append( sb, "Expression: ${stagingDirectory}", 3 );
 686  0
                 append( sb, "", 0 );
 687  
             }
 688  
         }
 689  
 
 690  0
         if ( goal == null || goal.length() <= 0 || "stage-deploy".equals( goal ) )
 691  
         {
 692  0
             append( sb, "site:stage-deploy", 0 );
 693  0
             append( sb, "Deploys the generated site to a staging or mock directory to the site URL specified in the <distributionManagement> section of the POM, using wagon supported protocols", 1 );
 694  0
             append( sb, "", 0 );
 695  0
             if ( detail )
 696  
             {
 697  0
                 append( sb, "Available parameters:", 1 );
 698  0
                 append( sb, "", 0 );
 699  
 
 700  0
                 append( sb, "chmod (Default: true)", 2 );
 701  0
                 append( sb, "Whether to run the \'chmod\' command on the remote site after the deploy. Defaults to \'true\'.", 3 );
 702  0
                 append( sb, "Expression: ${maven.site.chmod}", 3 );
 703  0
                 append( sb, "", 0 );
 704  
 
 705  0
                 append( sb, "chmodMode (Default: g+w,a+rX)", 2 );
 706  0
                 append( sb, "The mode used by the \'chmod\' command. Only used if chmod = true. Defaults to \'g+w,a+rX\'.", 3 );
 707  0
                 append( sb, "Expression: ${maven.site.chmod.mode}", 3 );
 708  0
                 append( sb, "", 0 );
 709  
 
 710  0
                 append( sb, "chmodOptions (Default: -Rf)", 2 );
 711  0
                 append( sb, "The options used by the \'chmod\' command. Only used if chmod = true. Defaults to \'-Rf\'.", 3 );
 712  0
                 append( sb, "Expression: ${maven.site.chmod.options}", 3 );
 713  0
                 append( sb, "", 0 );
 714  
 
 715  0
                 append( sb, "inputDirectory", 2 );
 716  0
                 append( sb, "Directory containing the generated project sites and report distributions.", 3 );
 717  0
                 append( sb, "Required: Yes", 3 );
 718  0
                 append( sb, "Expression: ${project.reporting.outputDirectory}", 3 );
 719  0
                 append( sb, "", 0 );
 720  
 
 721  0
                 append( sb, "inputEncoding (Default: ${project.build.sourceEncoding})", 2 );
 722  0
                 append( sb, "Specifies the input encoding.", 3 );
 723  0
                 append( sb, "Expression: ${encoding}", 3 );
 724  0
                 append( sb, "", 0 );
 725  
 
 726  0
                 append( sb, "locales", 2 );
 727  0
                 append( sb, "A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.", 3 );
 728  0
                 append( sb, "Expression: ${locales}", 3 );
 729  0
                 append( sb, "", 0 );
 730  
 
 731  0
                 append( sb, "outputEncoding (Default: ${project.reporting.outputEncoding})", 2 );
 732  0
                 append( sb, "Specifies the output encoding.", 3 );
 733  0
                 append( sb, "Expression: ${outputEncoding}", 3 );
 734  0
                 append( sb, "", 0 );
 735  
 
 736  0
                 append( sb, "siteDirectory (Default: ${basedir}/src/site)", 2 );
 737  0
                 append( sb, "Directory containing the site.xml file and the source for apt, fml and xdoc docs.", 3 );
 738  0
                 append( sb, "", 0 );
 739  
 
 740  0
                 append( sb, "skipDeploy (Default: false)", 2 );
 741  0
                 append( sb, "Set this to \'true\' to skip site deployment.", 3 );
 742  0
                 append( sb, "Expression: ${maven.site.deploy.skip}", 3 );
 743  0
                 append( sb, "", 0 );
 744  
 
 745  0
                 append( sb, "stagingRepositoryId", 2 );
 746  0
                 append( sb, "The identifier of the repository where the staging site will be deployed. This id will be used to lookup a corresponding <server> entry from the settings.xml. If a matching <server> entry is found, its configured credentials will be used for authentication. If this is not specified, then the corresponding value of distributionManagement.site.id will be taken as default, unless this is not defined either then the String \'stagingSite\' is used. (Note: until v. 2.3 and 3.0-beta-3 the String \'stagingSite\' is always used.)", 3 );
 747  0
                 append( sb, "Expression: ${stagingRepositoryId}", 3 );
 748  0
                 append( sb, "", 0 );
 749  
 
 750  0
                 append( sb, "stagingSiteURL", 2 );
 751  0
                 append( sb, "The staged site will be deployed to this URL. If you don\'t specify this, the default-value will be \'${project.distributionManagement.site.url}/staging\', where \'project\' is either the current project or, in a reactor build, the top level project in the reactor.\nNote that even if you specify this plugin parameter, you still need to indicate ${project.distributionManagement.site.url} at least in your top level project in order for relative links between modules to be resolved correctly.\n", 3 );
 752  0
                 append( sb, "Expression: ${stagingSiteURL}", 3 );
 753  0
                 append( sb, "", 0 );
 754  
             }
 755  
         }
 756  
 
 757  0
         if ( getLog().isInfoEnabled() )
 758  
         {
 759  0
             getLog().info( sb.toString() );
 760  
         }
 761  0
     }
 762  
 
 763  
     /**
 764  
      * <p>Repeat a String <code>n</code> times to form a new string.</p>
 765  
      *
 766  
      * @param str String to repeat
 767  
      * @param repeat number of times to repeat str
 768  
      * @return String with repeated String
 769  
      * @throws NegativeArraySizeException if <code>repeat < 0</code>
 770  
      * @throws NullPointerException if str is <code>null</code>
 771  
      */
 772  
     private static String repeat( String str, int repeat )
 773  
     {
 774  0
         StringBuffer buffer = new StringBuffer( repeat * str.length() );
 775  
 
 776  0
         for ( int i = 0; i < repeat; i++ )
 777  
         {
 778  0
             buffer.append( str );
 779  
         }
 780  
 
 781  0
         return buffer.toString();
 782  
     }
 783  
 
 784  
     /** 
 785  
      * Append a description to the buffer by respecting the indentSize and lineLength parameters.
 786  
      * <b>Note</b>: The last character is always a new line.
 787  
      * 
 788  
      * @param sb The buffer to append the description, not <code>null</code>.
 789  
      * @param description The description, not <code>null</code>.
 790  
      * @param indent The base indentation level of each line, must not be negative.
 791  
      */
 792  
     private void append( StringBuffer sb, String description, int indent )
 793  
     {
 794  0
         for ( Iterator it = toLines( description, indent, indentSize, lineLength ).iterator(); it.hasNext(); )
 795  
         {
 796  0
             sb.append( it.next().toString() ).append( '\n' );
 797  
         }
 798  0
     }
 799  
 
 800  
     /** 
 801  
      * Splits the specified text into lines of convenient display length.
 802  
      * 
 803  
      * @param text The text to split into lines, must not be <code>null</code>.
 804  
      * @param indent The base indentation level of each line, must not be negative.
 805  
      * @param indentSize The size of each indentation, must not be negative.
 806  
      * @param lineLength The length of the line, must not be negative.
 807  
      * @return The sequence of display lines, never <code>null</code>.
 808  
      * @throws NegativeArraySizeException if <code>indent < 0</code>
 809  
      */
 810  
     private static List toLines( String text, int indent, int indentSize, int lineLength )
 811  
     {
 812  0
         List<String> lines = new ArrayList<String>();
 813  
 
 814  0
         String ind = repeat( "\t", indent );
 815  0
         String[] plainLines = text.split( "(\r\n)|(\r)|(\n)" );
 816  0
         for ( int i = 0; i < plainLines.length; i++ )
 817  
         {
 818  0
             toLines( lines, ind + plainLines[i], indentSize, lineLength );
 819  
         }
 820  
 
 821  0
         return lines;
 822  
     }
 823  
 
 824  
     /** 
 825  
      * Adds the specified line to the output sequence, performing line wrapping if necessary.
 826  
      * 
 827  
      * @param lines The sequence of display lines, must not be <code>null</code>.
 828  
      * @param line The line to add, must not be <code>null</code>.
 829  
      * @param indentSize The size of each indentation, must not be negative.
 830  
      * @param lineLength The length of the line, must not be negative.
 831  
      */
 832  
     private static void toLines( List<String> lines, String line, int indentSize, int lineLength )
 833  
     {
 834  0
         int lineIndent = getIndentLevel( line );
 835  0
         StringBuffer buf = new StringBuffer( 256 );
 836  0
         String[] tokens = line.split( " +" );
 837  0
         for ( int i = 0; i < tokens.length; i++ )
 838  
         {
 839  0
             String token = tokens[i];
 840  0
             if ( i > 0 )
 841  
             {
 842  0
                 if ( buf.length() + token.length() >= lineLength )
 843  
                 {
 844  0
                     lines.add( buf.toString() );
 845  0
                     buf.setLength( 0 );
 846  0
                     buf.append( repeat( " ", lineIndent * indentSize ) );
 847  
                 }
 848  
                 else
 849  
                 {
 850  0
                     buf.append( ' ' );
 851  
                 }
 852  
             }
 853  0
             for ( int j = 0; j < token.length(); j++ )
 854  
             {
 855  0
                 char c = token.charAt( j );
 856  0
                 if ( c == '\t' )
 857  
                 {
 858  0
                     buf.append( repeat( " ", indentSize - buf.length() % indentSize ) );
 859  
                 }
 860  0
                 else if ( c == '\u00A0' )
 861  
                 {
 862  0
                     buf.append( ' ' );
 863  
                 }
 864  
                 else
 865  
                 {
 866  0
                     buf.append( c );
 867  
                 }
 868  
             }
 869  
         }
 870  0
         lines.add( buf.toString() );
 871  0
     }
 872  
 
 873  
     /** 
 874  
      * Gets the indentation level of the specified line.
 875  
      * 
 876  
      * @param line The line whose indentation level should be retrieved, must not be <code>null</code>.
 877  
      * @return The indentation level of the line.
 878  
      */
 879  
     private static int getIndentLevel( String line )
 880  
     {
 881  0
         int level = 0;
 882  0
         for ( int i = 0; i < line.length() && line.charAt( i ) == '\t'; i++ )
 883  
         {
 884  0
             level++;
 885  
         }
 886  0
         for ( int i = level + 1; i <= level + 4 && i < line.length(); i++ )
 887  
         {
 888  0
             if ( line.charAt( i ) == '\t' )
 889  
             {
 890  0
                 level++;
 891  0
                 break;
 892  
             }
 893  
         }
 894  0
         return level;
 895  
     }
 896  
 }