Coverage Report - org.apache.maven.plugin.eclipse.HelpMojo
 
Classes in this File Line Coverage Branch Coverage Complexity
HelpMojo
0%
0/664
0%
0/154
8.667
 
 1  
 package org.apache.maven.plugin.eclipse;
 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-eclipse-plugin.<br/> Call <pre>  mvn eclipse:help -Ddetail=true -Dgoal=&lt;goal-name&gt;</pre> to display parameter details.
 12  
  *
 13  
  * @version generated on Tue Jun 09 18:51:24 CST 2009
 14  
  * @author org.apache.maven.tools.plugin.generator.PluginHelpGenerator (version 2.4.3)
 15  
  * @goal help
 16  
  * @requiresProject false
 17  
  */
 18  0
 public class HelpMojo
 19  
     extends AbstractMojo
 20  
 {
 21  
     /**
 22  
      * If <code>true</code>, display all settable properties for each goal.
 23  
      * 
 24  
      * @parameter expression="${detail}" default-value="false"
 25  
      */
 26  
     private boolean detail;
 27  
 
 28  
     /**
 29  
      * The name of the goal for which to show help. If unspecified, all goals will be displayed.
 30  
      * 
 31  
      * @parameter expression="${goal}"
 32  
      */
 33  
     private java.lang.String goal;
 34  
 
 35  
     /**
 36  
      * The maximum length of a display line, should be positive.
 37  
      * 
 38  
      * @parameter expression="${lineLength}" default-value="80"
 39  
      */
 40  
     private int lineLength;
 41  
 
 42  
     /**
 43  
      * The number of spaces per indentation level, should be positive.
 44  
      * 
 45  
      * @parameter expression="${indentSize}" default-value="2"
 46  
      */
 47  
     private int indentSize;
 48  
 
 49  
 
 50  
     /** {@inheritDoc} */
 51  
     public void execute()
 52  
         throws MojoExecutionException
 53  
     {
 54  0
         if ( lineLength <= 0 )
 55  
         {
 56  0
             getLog().warn( "The parameter 'lineLength' should be positive, using '80' as default." );
 57  0
             lineLength = 80;
 58  
         }
 59  0
         if ( indentSize <= 0 )
 60  
         {
 61  0
             getLog().warn( "The parameter 'indentSize' should be positive, using '2' as default." );
 62  0
             indentSize = 2;
 63  
         }
 64  
 
 65  0
         StringBuffer sb = new StringBuffer();
 66  
 
 67  0
         append( sb, "org.apache.maven.plugins:maven-eclipse-plugin:2.7", 0 );
 68  0
         append( sb, "", 0 );
 69  
 
 70  0
         append( sb, "Maven Eclipse Plugin 2.7", 0 );
 71  0
         append( sb, "The Eclipse Plugin is used to generate Eclipse IDE files (.project, .classpath and the .settings folder) from a POM.", 1 );
 72  0
         append( sb, "", 0 );
 73  
 
 74  0
         if ( goal == null || goal.length() <= 0 )
 75  
         {
 76  0
             append( sb, "This plugin has 14 goals:", 0 );
 77  0
             append( sb, "", 0 );
 78  
         }
 79  
 
 80  0
         if ( goal == null || goal.length() <= 0 || "add-maven-repo".equals( goal ) )
 81  
         {
 82  0
             append( sb, "eclipse:add-maven-repo", 0 );
 83  0
             append( sb, "Deprecated. Use configure-workspace goal instead.", 1 );
 84  0
             if ( detail )
 85  
             {
 86  0
                 append( sb, "", 0 );
 87  0
                 append( sb, "Adds the classpath variable M2_REPO to Eclipse. DEPRECATED. Replaced by eclipse:configure-workspace.", 1 );
 88  
             }
 89  0
             append( sb, "", 0 );
 90  0
             if ( detail )
 91  
             {
 92  0
                 append( sb, "Available parameters:", 1 );
 93  0
                 append( sb, "", 0 );
 94  
 
 95  0
                 append( sb, "workspace", 2 );
 96  0
                 append( sb, "Directory location of the Eclipse workspace.", 3 );
 97  0
                 append( sb, "", 0 );
 98  
             }
 99  
         }
 100  
 
 101  0
         if ( goal == null || goal.length() <= 0 || "clean".equals( goal ) )
 102  
         {
 103  0
             append( sb, "eclipse:clean", 0 );
 104  0
             append( sb, "Deletes the .project, .classpath, .wtpmodules files and .settings folder used by Eclipse.", 1 );
 105  0
             append( sb, "", 0 );
 106  0
             if ( detail )
 107  
             {
 108  0
                 append( sb, "Available parameters:", 1 );
 109  0
                 append( sb, "", 0 );
 110  
 
 111  0
                 append( sb, "additionalConfig", 2 );
 112  0
                 append( sb, "additional generic configuration files for eclipse", 3 );
 113  0
                 append( sb, "", 0 );
 114  
 
 115  0
                 append( sb, "basedir", 2 );
 116  0
                 append( sb, "The root directory of the project", 3 );
 117  0
                 append( sb, "", 0 );
 118  
 
 119  0
                 append( sb, "packaging", 2 );
 120  0
                 append( sb, "Packaging for the current project.", 3 );
 121  0
                 append( sb, "", 0 );
 122  
 
 123  0
                 append( sb, "skip (Default: false)", 2 );
 124  0
                 append( sb, "Skip the operation when true.", 3 );
 125  0
                 append( sb, "", 0 );
 126  
             }
 127  
         }
 128  
 
 129  0
         if ( goal == null || goal.length() <= 0 || "configure-workspace".equals( goal ) )
 130  
         {
 131  0
             append( sb, "eclipse:configure-workspace", 0 );
 132  0
             append( sb, "Configures The following Eclipse Workspace features:\n-\tAdds the classpath variable MAVEN_REPO to Eclipse.\n-\tOptionally load Eclipse code style file via a URL.\n", 1 );
 133  0
             append( sb, "", 0 );
 134  0
             if ( detail )
 135  
             {
 136  0
                 append( sb, "Available parameters:", 1 );
 137  0
                 append( sb, "", 0 );
 138  
 
 139  0
                 append( sb, "workspace", 2 );
 140  0
                 append( sb, "Directory location of the Eclipse workspace.", 3 );
 141  0
                 append( sb, "", 0 );
 142  
 
 143  0
                 append( sb, "workspaceActiveCodeStyleProfileName", 2 );
 144  0
                 append( sb, "Name of a profile in workspaceCodeStylesURL to activate. Default is the first profile name in the code style file in workspaceCodeStylesURL", 3 );
 145  0
                 append( sb, "", 0 );
 146  
 
 147  0
                 append( sb, "workspaceCodeStylesURL", 2 );
 148  0
                 append( sb, "Point to a URL containing code styles content.", 3 );
 149  0
                 append( sb, "", 0 );
 150  
             }
 151  
         }
 152  
 
 153  0
         if ( goal == null || goal.length() <= 0 || "eclipse".equals( goal ) )
 154  
         {
 155  0
             append( sb, "eclipse:eclipse", 0 );
 156  0
             append( sb, "Generates the following eclipse configuration files:\n-\t.project and .classpath files\n-\t.setting/org.eclipse.jdt.core.prefs with project specific compiler settings\n-\tvarious configuration files for WTP (Web Tools Project), if the parameter wtpversion is set to a valid version (WTP configuration is not generated by default)\nIf this goal is run on a multiproject root, dependencies between modules will be configured as direct project dependencies in Eclipse (unless useProjectReferences is set to false).", 1 );
 157  0
             append( sb, "", 0 );
 158  0
             if ( detail )
 159  
             {
 160  0
                 append( sb, "Available parameters:", 1 );
 161  0
                 append( sb, "", 0 );
 162  
 
 163  0
                 append( sb, "addGroupIdToProjectName (Default: false)", 2 );
 164  0
                 append( sb, "If set to true, the groupId of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 165  0
                 append( sb, "", 0 );
 166  
 
 167  0
                 append( sb, "addVersionToProjectName (Default: false)", 2 );
 168  0
                 append( sb, "If set to true, the version number of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 169  0
                 append( sb, "", 0 );
 170  
 
 171  0
                 append( sb, "additionalBuildcommands", 2 );
 172  0
                 append( sb, "List of eclipse build commands to be added to the default ones. Old style:\n<additionalBuildcommands>\n<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>\n</additionalBuildcommands>\nNew style:\n<additionalBuildcommands>\n<buildCommand>\n<name>org.ui.externaltools.ExternalToolBuilder</name>\n<triggers>auto,full,incremental,</triggers>\n<arguments>\n<LaunchConfigHandle>&lt;project&gt;./externalToolBuilders/MavenBuilder.launch</LaunchConfighandle>\n</arguments>\n</buildCommand>\n</additionalBuildcommands>\nNote the difference between buildcommand and buildCommand. You can mix and match old and new-style configuration entries.", 3 );
 173  0
                 append( sb, "", 0 );
 174  
 
 175  0
                 append( sb, "additionalConfig", 2 );
 176  0
                 append( sb, "Allow to configure additional generic configuration files for eclipse that will be written out to disk when running eclipse:eclipse. FOr each file you can specify the name and the text content.\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<content>\n<![CDATA[<fileset-config\u00a0file-format-version=\'1.2.0\'\u00a0simple-config=\'true\'>\n<fileset\u00a0name=\'all\'\u00a0enabled=\'true\'\u00a0check-config-name=\'acme\u00a0corporate\u00a0style\'\u00a0local=\'false\'>\n<file-match-pattern\u00a0match-pattern=\'.\'\u00a0include-pattern=\'true\'/>\n</fileset>\n<filter\u00a0name=\'NonSrcDirs\'\u00a0enabled=\'true\'/>\n</fileset-config>]]>\n</content>\n</file>\n</additionalConfig>\n</configuration>\n</plugin>\nInstead of the content you can also define (from version 2.5) an url to download the file :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<url>http://some.place.org/path/to/file</url>\n</file>\n</additionalConfig>\n</configuration>\nor a location :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<location>/checkstyle-config.xml</location>\n</file>\n</additionalConfig>\n</configuration>\n<dependencies>\n<!--\u00a0The\u00a0file\u00a0defined\u00a0in\u00a0the\u00a0location\u00a0is\u00a0stored\u00a0in\u00a0this\u00a0dependency\u00a0-->\n<dependency>\n<groupId>eclipsetest</groupId>\n<artifactId>checkstyle-config</artifactId>\n<version>1.0</version>\n</dependency>\n</dependencies>\n</plugin>\n", 3 );
 177  0
                 append( sb, "", 0 );
 178  
 
 179  0
                 append( sb, "additionalProjectFacets", 2 );
 180  0
                 append( sb, "List of eclipse project facets to be added to the default ones.\n<additionalProjectFacets>\n<jst.jsf>1.1<jst.jsf/>\n</additionalProjectFacets>\n", 3 );
 181  0
                 append( sb, "", 0 );
 182  
 
 183  0
                 append( sb, "additionalProjectnatures", 2 );
 184  0
                 append( sb, "List of eclipse project natures to be added to the default ones.\n<additionalProjectnatures>\n<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>\n</additionalProjectnatures>\n", 3 );
 185  0
                 append( sb, "", 0 );
 186  
 
 187  0
                 append( sb, "ajdtVersion (Default: 1.5)", 2 );
 188  0
                 append( sb, "The version of AJDT for which configuration files will be generated. The default value is \'1.5\', supported versions are \'none\', \'1.4\', and \'1.5\'.", 3 );
 189  0
                 append( sb, "", 0 );
 190  
 
 191  0
                 append( sb, "buildOutputDirectory (Default: ${project.build.outputDirectory})", 2 );
 192  0
                 append( sb, "The default output directory", 3 );
 193  0
                 append( sb, "", 0 );
 194  
 
 195  0
                 append( sb, "buildcommands", 2 );
 196  0
                 append( sb, "List of eclipse build commands. By default the org.eclipse.jdt.core.javabuilder builder plus the needed WTP builders are added. If you specify any configuration for this parameter, only those buildcommands specified will be used; the defaults won\'t be added. Use the additionalBuildCommands parameter for that. Configuration example: Old style:\n<buildcommands>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand>\n<buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand>\n</buildcommands>\nFor new style, see additionalBuildCommands.", 3 );
 197  0
                 append( sb, "", 0 );
 198  
 
 199  0
                 append( sb, "classpathContainers", 2 );
 200  0
                 append( sb, "List of container classpath entries. By default the org.eclipse.jdt.launching.JRE_CONTAINER classpath container is added. Configuration example:\n<classpathContainers>\n<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>\n<classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache\u00a0Tomcat\u00a0v5.5</classpathContainer>\n<classpathContainer>org.eclipse.jst.j2ee.internal.web.container/artifact</classpathContainer>\n</classpathContainers>\n", 3 );
 201  0
                 append( sb, "", 0 );
 202  
 
 203  0
                 append( sb, "downloadJavadocs", 2 );
 204  0
                 append( sb, "Enables/disables the downloading of javadoc attachments. Defaults to false. When this flag is true remote repositories are checked for javadocs: in order to avoid repeated check for unavailable javadoc archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 205  0
                 append( sb, "", 0 );
 206  
 
 207  0
                 append( sb, "downloadSources", 2 );
 208  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. When this flag is true remote repositories are checked for sources: in order to avoid repeated check for unavailable source archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 209  0
                 append( sb, "", 0 );
 210  
 
 211  0
                 append( sb, "eclipseDownloadSources", 2 );
 212  0
                 append( sb, "Deprecated. use downloadSources", 3 );
 213  0
                 append( sb, "", 0 );
 214  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. DEPRECATED - use downloadSources", 3 );
 215  0
                 append( sb, "", 0 );
 216  
 
 217  0
                 append( sb, "eclipseProjectDir", 2 );
 218  0
                 append( sb, "Eclipse workspace directory.", 3 );
 219  0
                 append( sb, "", 0 );
 220  
 
 221  0
                 append( sb, "excludes", 2 );
 222  0
                 append( sb, "List of artifact to exclude from eclipse classpath, beeing provided by some eclipse classPathContainer [MECLIPSE-79]", 3 );
 223  0
                 append( sb, "", 0 );
 224  
 
 225  0
                 append( sb, "forceRecheck", 2 );
 226  0
                 append( sb, "Enables/disables the rechecking of the remote repository for downloading source/javadoc attachments. Defaults to false. When this flag is true and the source or javadoc attachment has a status cache to indicate that it is not available, then the remote repository will be rechecked for a source or javadoc attachment and the status cache updated to reflect the new state.", 3 );
 227  0
                 append( sb, "", 0 );
 228  
 
 229  0
                 append( sb, "limitProjectReferencesToWorkspace (Default: false)", 2 );
 230  0
                 append( sb, "Limit the use of project references to the current workspace. No project references will be created to projects in the reactor when they are not available in the workspace.", 3 );
 231  0
                 append( sb, "", 0 );
 232  
 
 233  0
                 append( sb, "manifest (Default: ${basedir}/META-INF/MANIFEST.MF)", 2 );
 234  0
                 append( sb, "The relative path of the manifest file", 3 );
 235  0
                 append( sb, "", 0 );
 236  
 
 237  0
                 append( sb, "packaging", 2 );
 238  0
                 append( sb, "The project packaging.", 3 );
 239  0
                 append( sb, "", 0 );
 240  
 
 241  0
                 append( sb, "pde (Default: false)", 2 );
 242  0
                 append( sb, "Is it an PDE project? If yes, the plugin adds the necessary natures and build commands to the .project file. Additionally it copies all libraries to a project local directory and references them instead of referencing the files in the local Maven repository. It also ensured that the \'Bundle-Classpath\' in META-INF/MANIFEST.MF is synchronized.", 3 );
 243  0
                 append( sb, "", 0 );
 244  
 
 245  0
                 append( sb, "projectNameTemplate", 2 );
 246  0
                 append( sb, "Allows configuring the name of the eclipse projects. This property if set wins over addVersionToProjectName and addGroupIdToProjectName You can use [groupId], [artifactId] and [version] variables. eg. [groupId].[artifactId]-[version]", 3 );
 247  0
                 append( sb, "", 0 );
 248  
 
 249  0
                 append( sb, "projectnatures", 2 );
 250  0
                 append( sb, "List of eclipse project natures. By default the org.eclipse.jdt.core.javanature nature plus the needed WTP natures are added. Natures added using this property replace the default list.\n<projectnatures>\n<projectnature>org.eclipse.jdt.core.javanature</projectnature>\n<projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>\n</projectnatures>\n", 3 );
 251  0
                 append( sb, "", 0 );
 252  
 
 253  0
                 append( sb, "skip (Default: false)", 2 );
 254  0
                 append( sb, "Skip the operation when true.", 3 );
 255  0
                 append( sb, "", 0 );
 256  
 
 257  0
                 append( sb, "sourceExcludes", 2 );
 258  0
                 append( sb, "List of exclusions to add to the source directories on the classpath. Adds excluding=\'\' to the classpathentry of the eclipse .classpath file. [MECLIPSE-104]", 3 );
 259  0
                 append( sb, "", 0 );
 260  
 
 261  0
                 append( sb, "sourceIncludes", 2 );
 262  0
                 append( sb, "List of inclusions to add to the source directories on the classpath. Adds including=\'\' to the classpathentry of the eclipse .classpath file.\nJava projects will always include \'**/*.java\'\n\nAjdt projects will always include \'**/*.aj\'\n\n[MECLIPSE-104]\n", 3 );
 263  0
                 append( sb, "", 0 );
 264  
 
 265  0
                 append( sb, "useProjectReferences (Default: true)", 2 );
 266  0
                 append( sb, "When set to false, the plugin will not create sub-projects and instead reference those sub-projects using the installed package in the local repository", 3 );
 267  0
                 append( sb, "", 0 );
 268  
 
 269  0
                 append( sb, "workspace", 2 );
 270  0
                 append( sb, "This eclipse workspace is read and all artifacts detected there will be connected as eclipse projects and will not be linked to the jars in the local repository. Requirement is that it was created with the similar wtp settings as the reactor projects, but the project name template my differ. The pom\'s in the workspace projects may not contain variables in the artefactId, groupId and version tags. If workspace is not defined, then an attempt to locate it by checking up the directory hierarchy will be made.", 3 );
 271  0
                 append( sb, "", 0 );
 272  
 
 273  0
                 append( sb, "wtpContextName", 2 );
 274  0
                 append( sb, "JEE context name of the WTP module. ( ex. WEB context name ).", 3 );
 275  0
                 append( sb, "", 0 );
 276  
 
 277  0
                 append( sb, "wtpapplicationxml (Default: false)", 2 );
 278  0
                 append( sb, "Must the application files be written for ear projects in a separate directory.", 3 );
 279  0
                 append( sb, "", 0 );
 280  
 
 281  0
                 append( sb, "wtpdefaultserver", 2 );
 282  0
                 append( sb, "What WTP defined server to use for deployment informations.", 3 );
 283  0
                 append( sb, "", 0 );
 284  
 
 285  0
                 append( sb, "wtpmanifest (Default: false)", 2 );
 286  0
                 append( sb, "Must the manifest files be written for java projects so that that the jee classpath for wtp is correct.", 3 );
 287  0
                 append( sb, "", 0 );
 288  
 
 289  0
                 append( sb, "wtpversion (Default: none)", 2 );
 290  0
                 append( sb, "The version of WTP for which configuration files will be generated. The default value is \'none\' (don\'t generate WTP configuration), supported versions are \'R7\', \'1.0\', and \'1.5\'", 3 );
 291  0
                 append( sb, "", 0 );
 292  
             }
 293  
         }
 294  
 
 295  0
         if ( goal == null || goal.length() <= 0 || "help".equals( goal ) )
 296  
         {
 297  0
             append( sb, "eclipse:help", 0 );
 298  0
             append( sb, "Display help information on maven-eclipse-plugin.\nCall\n\u00a0\u00a0mvn\u00a0eclipse:help\u00a0-Ddetail=true\u00a0-Dgoal=<goal-name>\nto display parameter details.", 1 );
 299  0
             append( sb, "", 0 );
 300  0
             if ( detail )
 301  
             {
 302  0
                 append( sb, "Available parameters:", 1 );
 303  0
                 append( sb, "", 0 );
 304  
 
 305  0
                 append( sb, "detail (Default: false)", 2 );
 306  0
                 append( sb, "If true, display all settable properties for each goal.", 3 );
 307  0
                 append( sb, "", 0 );
 308  
 
 309  0
                 append( sb, "goal", 2 );
 310  0
                 append( sb, "The name of the goal for which to show help. If unspecified, all goals will be displayed.", 3 );
 311  0
                 append( sb, "", 0 );
 312  
 
 313  0
                 append( sb, "lineLength (Default: 80)", 2 );
 314  0
                 append( sb, "The maximum length of a display line, should be positive.", 3 );
 315  0
                 append( sb, "", 0 );
 316  
 
 317  0
                 append( sb, "indentSize (Default: 2)", 2 );
 318  0
                 append( sb, "The number of spaces per indentation level, should be positive.", 3 );
 319  0
                 append( sb, "", 0 );
 320  
             }
 321  
         }
 322  
 
 323  0
         if ( goal == null || goal.length() <= 0 || "install-plugins".equals( goal ) )
 324  
         {
 325  0
             append( sb, "eclipse:install-plugins", 0 );
 326  0
             append( sb, "Install plugins resolved from the Maven repository system into an Eclipse instance.", 1 );
 327  0
             append( sb, "", 0 );
 328  0
             if ( detail )
 329  
             {
 330  0
                 append( sb, "Available parameters:", 1 );
 331  0
                 append( sb, "", 0 );
 332  
 
 333  0
                 append( sb, "eclipseDir", 2 );
 334  0
                 append( sb, "This is the installed base directory of the Eclipse instance you want to modify.", 3 );
 335  0
                 append( sb, "", 0 );
 336  
 
 337  0
                 append( sb, "overwrite (Default: false)", 2 );
 338  0
                 append( sb, "Determines whether this mojo leaves existing installed plugins as-is, or overwrites them.", 3 );
 339  0
                 append( sb, "", 0 );
 340  
 
 341  0
                 append( sb, "pluginDependencyTypes (Default: jar)", 2 );
 342  0
                 append( sb, "Comma-delimited list of dependency <type/> values which will be installed in the eclipse instance\'s plugins directory.", 3 );
 343  0
                 append( sb, "", 0 );
 344  
             }
 345  
         }
 346  
 
 347  0
         if ( goal == null || goal.length() <= 0 || "m2eclipse".equals( goal ) )
 348  
         {
 349  0
             append( sb, "eclipse:m2eclipse", 0 );
 350  0
             append( sb, "Creates an eclipse project that is ready to use with the M2Elipse plugin.", 1 );
 351  0
             append( sb, "", 0 );
 352  0
             if ( detail )
 353  
             {
 354  0
                 append( sb, "Available parameters:", 1 );
 355  0
                 append( sb, "", 0 );
 356  
 
 357  0
                 append( sb, "addGroupIdToProjectName (Default: false)", 2 );
 358  0
                 append( sb, "If set to true, the groupId of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 359  0
                 append( sb, "", 0 );
 360  
 
 361  0
                 append( sb, "addVersionToProjectName (Default: false)", 2 );
 362  0
                 append( sb, "If set to true, the version number of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 363  0
                 append( sb, "", 0 );
 364  
 
 365  0
                 append( sb, "additionalBuildcommands", 2 );
 366  0
                 append( sb, "List of eclipse build commands to be added to the default ones. Old style:\n<additionalBuildcommands>\n<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>\n</additionalBuildcommands>\nNew style:\n<additionalBuildcommands>\n<buildCommand>\n<name>org.ui.externaltools.ExternalToolBuilder</name>\n<triggers>auto,full,incremental,</triggers>\n<arguments>\n<LaunchConfigHandle>&lt;project&gt;./externalToolBuilders/MavenBuilder.launch</LaunchConfighandle>\n</arguments>\n</buildCommand>\n</additionalBuildcommands>\nNote the difference between buildcommand and buildCommand. You can mix and match old and new-style configuration entries.", 3 );
 367  0
                 append( sb, "", 0 );
 368  
 
 369  0
                 append( sb, "additionalConfig", 2 );
 370  0
                 append( sb, "Allow to configure additional generic configuration files for eclipse that will be written out to disk when running eclipse:eclipse. FOr each file you can specify the name and the text content.\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<content>\n<![CDATA[<fileset-config\u00a0file-format-version=\'1.2.0\'\u00a0simple-config=\'true\'>\n<fileset\u00a0name=\'all\'\u00a0enabled=\'true\'\u00a0check-config-name=\'acme\u00a0corporate\u00a0style\'\u00a0local=\'false\'>\n<file-match-pattern\u00a0match-pattern=\'.\'\u00a0include-pattern=\'true\'/>\n</fileset>\n<filter\u00a0name=\'NonSrcDirs\'\u00a0enabled=\'true\'/>\n</fileset-config>]]>\n</content>\n</file>\n</additionalConfig>\n</configuration>\n</plugin>\nInstead of the content you can also define (from version 2.5) an url to download the file :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<url>http://some.place.org/path/to/file</url>\n</file>\n</additionalConfig>\n</configuration>\nor a location :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<location>/checkstyle-config.xml</location>\n</file>\n</additionalConfig>\n</configuration>\n<dependencies>\n<!--\u00a0The\u00a0file\u00a0defined\u00a0in\u00a0the\u00a0location\u00a0is\u00a0stored\u00a0in\u00a0this\u00a0dependency\u00a0-->\n<dependency>\n<groupId>eclipsetest</groupId>\n<artifactId>checkstyle-config</artifactId>\n<version>1.0</version>\n</dependency>\n</dependencies>\n</plugin>\n", 3 );
 371  0
                 append( sb, "", 0 );
 372  
 
 373  0
                 append( sb, "additionalProjectFacets", 2 );
 374  0
                 append( sb, "List of eclipse project facets to be added to the default ones.\n<additionalProjectFacets>\n<jst.jsf>1.1<jst.jsf/>\n</additionalProjectFacets>\n", 3 );
 375  0
                 append( sb, "", 0 );
 376  
 
 377  0
                 append( sb, "additionalProjectnatures", 2 );
 378  0
                 append( sb, "List of eclipse project natures to be added to the default ones.\n<additionalProjectnatures>\n<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>\n</additionalProjectnatures>\n", 3 );
 379  0
                 append( sb, "", 0 );
 380  
 
 381  0
                 append( sb, "ajdtVersion (Default: 1.5)", 2 );
 382  0
                 append( sb, "The version of AJDT for which configuration files will be generated. The default value is \'1.5\', supported versions are \'none\', \'1.4\', and \'1.5\'.", 3 );
 383  0
                 append( sb, "", 0 );
 384  
 
 385  0
                 append( sb, "buildOutputDirectory (Default: ${project.build.outputDirectory})", 2 );
 386  0
                 append( sb, "The default output directory", 3 );
 387  0
                 append( sb, "", 0 );
 388  
 
 389  0
                 append( sb, "buildcommands", 2 );
 390  0
                 append( sb, "List of eclipse build commands. By default the org.eclipse.jdt.core.javabuilder builder plus the needed WTP builders are added. If you specify any configuration for this parameter, only those buildcommands specified will be used; the defaults won\'t be added. Use the additionalBuildCommands parameter for that. Configuration example: Old style:\n<buildcommands>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand>\n<buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand>\n</buildcommands>\nFor new style, see additionalBuildCommands.", 3 );
 391  0
                 append( sb, "", 0 );
 392  
 
 393  0
                 append( sb, "classpathContainers", 2 );
 394  0
                 append( sb, "List of container classpath entries. By default the org.eclipse.jdt.launching.JRE_CONTAINER classpath container is added. Configuration example:\n<classpathContainers>\n<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>\n<classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache\u00a0Tomcat\u00a0v5.5</classpathContainer>\n<classpathContainer>org.eclipse.jst.j2ee.internal.web.container/artifact</classpathContainer>\n</classpathContainers>\n", 3 );
 395  0
                 append( sb, "", 0 );
 396  
 
 397  0
                 append( sb, "downloadJavadocs", 2 );
 398  0
                 append( sb, "Enables/disables the downloading of javadoc attachments. Defaults to false. When this flag is true remote repositories are checked for javadocs: in order to avoid repeated check for unavailable javadoc archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 399  0
                 append( sb, "", 0 );
 400  
 
 401  0
                 append( sb, "downloadSources", 2 );
 402  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. When this flag is true remote repositories are checked for sources: in order to avoid repeated check for unavailable source archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 403  0
                 append( sb, "", 0 );
 404  
 
 405  0
                 append( sb, "eclipseDownloadSources", 2 );
 406  0
                 append( sb, "Deprecated. use downloadSources", 3 );
 407  0
                 append( sb, "", 0 );
 408  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. DEPRECATED - use downloadSources", 3 );
 409  0
                 append( sb, "", 0 );
 410  
 
 411  0
                 append( sb, "eclipseProjectDir", 2 );
 412  0
                 append( sb, "Eclipse workspace directory.", 3 );
 413  0
                 append( sb, "", 0 );
 414  
 
 415  0
                 append( sb, "excludes", 2 );
 416  0
                 append( sb, "List of artifact to exclude from eclipse classpath, beeing provided by some eclipse classPathContainer [MECLIPSE-79]", 3 );
 417  0
                 append( sb, "", 0 );
 418  
 
 419  0
                 append( sb, "forceRecheck", 2 );
 420  0
                 append( sb, "Enables/disables the rechecking of the remote repository for downloading source/javadoc attachments. Defaults to false. When this flag is true and the source or javadoc attachment has a status cache to indicate that it is not available, then the remote repository will be rechecked for a source or javadoc attachment and the status cache updated to reflect the new state.", 3 );
 421  0
                 append( sb, "", 0 );
 422  
 
 423  0
                 append( sb, "limitProjectReferencesToWorkspace (Default: false)", 2 );
 424  0
                 append( sb, "Limit the use of project references to the current workspace. No project references will be created to projects in the reactor when they are not available in the workspace.", 3 );
 425  0
                 append( sb, "", 0 );
 426  
 
 427  0
                 append( sb, "manifest (Default: ${basedir}/META-INF/MANIFEST.MF)", 2 );
 428  0
                 append( sb, "The relative path of the manifest file", 3 );
 429  0
                 append( sb, "", 0 );
 430  
 
 431  0
                 append( sb, "packaging", 2 );
 432  0
                 append( sb, "The project packaging.", 3 );
 433  0
                 append( sb, "", 0 );
 434  
 
 435  0
                 append( sb, "pde (Default: false)", 2 );
 436  0
                 append( sb, "Is it an PDE project? If yes, the plugin adds the necessary natures and build commands to the .project file. Additionally it copies all libraries to a project local directory and references them instead of referencing the files in the local Maven repository. It also ensured that the \'Bundle-Classpath\' in META-INF/MANIFEST.MF is synchronized.", 3 );
 437  0
                 append( sb, "", 0 );
 438  
 
 439  0
                 append( sb, "projectNameTemplate", 2 );
 440  0
                 append( sb, "Allows configuring the name of the eclipse projects. This property if set wins over addVersionToProjectName and addGroupIdToProjectName You can use [groupId], [artifactId] and [version] variables. eg. [groupId].[artifactId]-[version]", 3 );
 441  0
                 append( sb, "", 0 );
 442  
 
 443  0
                 append( sb, "projectnatures", 2 );
 444  0
                 append( sb, "List of eclipse project natures. By default the org.eclipse.jdt.core.javanature nature plus the needed WTP natures are added. Natures added using this property replace the default list.\n<projectnatures>\n<projectnature>org.eclipse.jdt.core.javanature</projectnature>\n<projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>\n</projectnatures>\n", 3 );
 445  0
                 append( sb, "", 0 );
 446  
 
 447  0
                 append( sb, "skip (Default: false)", 2 );
 448  0
                 append( sb, "Skip the operation when true.", 3 );
 449  0
                 append( sb, "", 0 );
 450  
 
 451  0
                 append( sb, "sourceExcludes", 2 );
 452  0
                 append( sb, "List of exclusions to add to the source directories on the classpath. Adds excluding=\'\' to the classpathentry of the eclipse .classpath file. [MECLIPSE-104]", 3 );
 453  0
                 append( sb, "", 0 );
 454  
 
 455  0
                 append( sb, "sourceIncludes", 2 );
 456  0
                 append( sb, "List of inclusions to add to the source directories on the classpath. Adds including=\'\' to the classpathentry of the eclipse .classpath file.\nJava projects will always include \'**/*.java\'\n\nAjdt projects will always include \'**/*.aj\'\n\n[MECLIPSE-104]\n", 3 );
 457  0
                 append( sb, "", 0 );
 458  
 
 459  0
                 append( sb, "useProjectReferences (Default: true)", 2 );
 460  0
                 append( sb, "When set to false, the plugin will not create sub-projects and instead reference those sub-projects using the installed package in the local repository", 3 );
 461  0
                 append( sb, "", 0 );
 462  
 
 463  0
                 append( sb, "workspace", 2 );
 464  0
                 append( sb, "This eclipse workspace is read and all artifacts detected there will be connected as eclipse projects and will not be linked to the jars in the local repository. Requirement is that it was created with the similar wtp settings as the reactor projects, but the project name template my differ. The pom\'s in the workspace projects may not contain variables in the artefactId, groupId and version tags. If workspace is not defined, then an attempt to locate it by checking up the directory hierarchy will be made.", 3 );
 465  0
                 append( sb, "", 0 );
 466  
 
 467  0
                 append( sb, "wtpContextName", 2 );
 468  0
                 append( sb, "JEE context name of the WTP module. ( ex. WEB context name ).", 3 );
 469  0
                 append( sb, "", 0 );
 470  
 
 471  0
                 append( sb, "wtpapplicationxml (Default: false)", 2 );
 472  0
                 append( sb, "Must the application files be written for ear projects in a separate directory.", 3 );
 473  0
                 append( sb, "", 0 );
 474  
 
 475  0
                 append( sb, "wtpdefaultserver", 2 );
 476  0
                 append( sb, "What WTP defined server to use for deployment informations.", 3 );
 477  0
                 append( sb, "", 0 );
 478  
 
 479  0
                 append( sb, "wtpmanifest (Default: false)", 2 );
 480  0
                 append( sb, "Must the manifest files be written for java projects so that that the jee classpath for wtp is correct.", 3 );
 481  0
                 append( sb, "", 0 );
 482  
 
 483  0
                 append( sb, "wtpversion (Default: none)", 2 );
 484  0
                 append( sb, "The version of WTP for which configuration files will be generated. The default value is \'none\' (don\'t generate WTP configuration), supported versions are \'R7\', \'1.0\', and \'1.5\'", 3 );
 485  0
                 append( sb, "", 0 );
 486  
             }
 487  
         }
 488  
 
 489  0
         if ( goal == null || goal.length() <= 0 || "make-artifacts".equals( goal ) )
 490  
         {
 491  0
             append( sb, "eclipse:make-artifacts", 0 );
 492  0
             append( sb, "Deprecated. use EclipseToMavenMojo for the latest naming conventions", 1 );
 493  0
             if ( detail )
 494  
             {
 495  0
                 append( sb, "", 0 );
 496  0
                 append( sb, "Add eclipse artifacts from an eclipse installation to the local repo. This mojo automatically analize the eclipse directory, copy plugins jars to the local maven repo, and generates appropriate poms. Use eclipse:to-maven for the latest naming conventions in place, groupId. artifactId.", 1 );
 497  
             }
 498  0
             append( sb, "", 0 );
 499  0
             if ( detail )
 500  
             {
 501  0
                 append( sb, "Available parameters:", 1 );
 502  0
                 append( sb, "", 0 );
 503  
 
 504  0
                 append( sb, "deployTo", 2 );
 505  0
                 append( sb, "Specifies a remote repository to which generated artifacts should be deployed to. If this property is specified, artifacts are also deployed to the remote repo. The format for this parameter is id::layout::url", 3 );
 506  0
                 append( sb, "", 0 );
 507  
 
 508  0
                 append( sb, "eclipseDir", 2 );
 509  0
                 append( sb, "Eclipse installation dir. If not set, a value for this parameter will be asked on the command line.", 3 );
 510  0
                 append( sb, "", 0 );
 511  
 
 512  0
                 append( sb, "forcedQualifier", 2 );
 513  0
                 append( sb, "Default token to use as a qualifier. Tipically qualifiers for plugins in the same eclipse build are different. This parameter can be used to \'align\' qualifiers so that all the plugins coming from the same eclipse build can be easily identified. For example, setting this to \'M3\' will force the pluging versions to be \'*.*.*.M3\'", 3 );
 514  0
                 append( sb, "", 0 );
 515  
 
 516  0
                 append( sb, "resolveVersionRanges (Default: false)", 2 );
 517  0
                 append( sb, "Resolve version ranges in generated pom dependencies to versions of the other plugins being converted", 3 );
 518  0
                 append( sb, "", 0 );
 519  
 
 520  0
                 append( sb, "stripQualifier (Default: true)", 2 );
 521  0
                 append( sb, "Strip qualifier (fourth token) from the plugin version. Qualifiers are for eclipse plugin the equivalent of timestamped snapshot versions for Maven, but the date is maintained also for released version (e.g. a jar for the release 3.2 can be named org.eclipse.core.filesystem_1.0.0.v20060603.jar. It\'s usually handy to not to include this qualifier when generating maven artifacts for major releases, while it\'s needed when working with eclipse integration/nightly builds.", 3 );
 522  0
                 append( sb, "", 0 );
 523  
             }
 524  
         }
 525  
 
 526  0
         if ( goal == null || goal.length() <= 0 || "myeclipse".equals( goal ) )
 527  
         {
 528  0
             append( sb, "eclipse:myeclipse", 0 );
 529  0
             append( sb, "Generates MyEclipse configuration files", 1 );
 530  0
             append( sb, "", 0 );
 531  0
             if ( detail )
 532  
             {
 533  0
                 append( sb, "Available parameters:", 1 );
 534  0
                 append( sb, "", 0 );
 535  
 
 536  0
                 append( sb, "addGroupIdToProjectName (Default: false)", 2 );
 537  0
                 append( sb, "If set to true, the groupId of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 538  0
                 append( sb, "", 0 );
 539  
 
 540  0
                 append( sb, "addVersionToProjectName (Default: false)", 2 );
 541  0
                 append( sb, "If set to true, the version number of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 542  0
                 append( sb, "", 0 );
 543  
 
 544  0
                 append( sb, "additionalBuildcommands", 2 );
 545  0
                 append( sb, "List of eclipse build commands to be added to the default ones. Old style:\n<additionalBuildcommands>\n<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>\n</additionalBuildcommands>\nNew style:\n<additionalBuildcommands>\n<buildCommand>\n<name>org.ui.externaltools.ExternalToolBuilder</name>\n<triggers>auto,full,incremental,</triggers>\n<arguments>\n<LaunchConfigHandle>&lt;project&gt;./externalToolBuilders/MavenBuilder.launch</LaunchConfighandle>\n</arguments>\n</buildCommand>\n</additionalBuildcommands>\nNote the difference between buildcommand and buildCommand. You can mix and match old and new-style configuration entries.", 3 );
 546  0
                 append( sb, "", 0 );
 547  
 
 548  0
                 append( sb, "additionalConfig", 2 );
 549  0
                 append( sb, "Allow to configure additional generic configuration files for eclipse that will be written out to disk when running eclipse:eclipse. FOr each file you can specify the name and the text content.\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<content>\n<![CDATA[<fileset-config\u00a0file-format-version=\'1.2.0\'\u00a0simple-config=\'true\'>\n<fileset\u00a0name=\'all\'\u00a0enabled=\'true\'\u00a0check-config-name=\'acme\u00a0corporate\u00a0style\'\u00a0local=\'false\'>\n<file-match-pattern\u00a0match-pattern=\'.\'\u00a0include-pattern=\'true\'/>\n</fileset>\n<filter\u00a0name=\'NonSrcDirs\'\u00a0enabled=\'true\'/>\n</fileset-config>]]>\n</content>\n</file>\n</additionalConfig>\n</configuration>\n</plugin>\nInstead of the content you can also define (from version 2.5) an url to download the file :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<url>http://some.place.org/path/to/file</url>\n</file>\n</additionalConfig>\n</configuration>\nor a location :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<location>/checkstyle-config.xml</location>\n</file>\n</additionalConfig>\n</configuration>\n<dependencies>\n<!--\u00a0The\u00a0file\u00a0defined\u00a0in\u00a0the\u00a0location\u00a0is\u00a0stored\u00a0in\u00a0this\u00a0dependency\u00a0-->\n<dependency>\n<groupId>eclipsetest</groupId>\n<artifactId>checkstyle-config</artifactId>\n<version>1.0</version>\n</dependency>\n</dependencies>\n</plugin>\n", 3 );
 550  0
                 append( sb, "", 0 );
 551  
 
 552  0
                 append( sb, "additionalProjectFacets", 2 );
 553  0
                 append( sb, "List of eclipse project facets to be added to the default ones.\n<additionalProjectFacets>\n<jst.jsf>1.1<jst.jsf/>\n</additionalProjectFacets>\n", 3 );
 554  0
                 append( sb, "", 0 );
 555  
 
 556  0
                 append( sb, "additionalProjectnatures", 2 );
 557  0
                 append( sb, "List of eclipse project natures to be added to the default ones.\n<additionalProjectnatures>\n<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>\n</additionalProjectnatures>\n", 3 );
 558  0
                 append( sb, "", 0 );
 559  
 
 560  0
                 append( sb, "ajdtVersion (Default: 1.5)", 2 );
 561  0
                 append( sb, "The version of AJDT for which configuration files will be generated. The default value is \'1.5\', supported versions are \'none\', \'1.4\', and \'1.5\'.", 3 );
 562  0
                 append( sb, "", 0 );
 563  
 
 564  0
                 append( sb, "buildOutputDirectory (Default: ${project.build.outputDirectory})", 2 );
 565  0
                 append( sb, "The default output directory", 3 );
 566  0
                 append( sb, "", 0 );
 567  
 
 568  0
                 append( sb, "buildcommands", 2 );
 569  0
                 append( sb, "List of eclipse build commands. By default the org.eclipse.jdt.core.javabuilder builder plus the needed WTP builders are added. If you specify any configuration for this parameter, only those buildcommands specified will be used; the defaults won\'t be added. Use the additionalBuildCommands parameter for that. Configuration example: Old style:\n<buildcommands>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand>\n<buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand>\n</buildcommands>\nFor new style, see additionalBuildCommands.", 3 );
 570  0
                 append( sb, "", 0 );
 571  
 
 572  0
                 append( sb, "classpathContainers", 2 );
 573  0
                 append( sb, "List of container classpath entries. By default the org.eclipse.jdt.launching.JRE_CONTAINER classpath container is added. Configuration example:\n<classpathContainers>\n<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>\n<classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache\u00a0Tomcat\u00a0v5.5</classpathContainer>\n<classpathContainer>org.eclipse.jst.j2ee.internal.web.container/artifact</classpathContainer>\n</classpathContainers>\n", 3 );
 574  0
                 append( sb, "", 0 );
 575  
 
 576  0
                 append( sb, "downloadJavadocs", 2 );
 577  0
                 append( sb, "Enables/disables the downloading of javadoc attachments. Defaults to false. When this flag is true remote repositories are checked for javadocs: in order to avoid repeated check for unavailable javadoc archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 578  0
                 append( sb, "", 0 );
 579  
 
 580  0
                 append( sb, "downloadSources", 2 );
 581  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. When this flag is true remote repositories are checked for sources: in order to avoid repeated check for unavailable source archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 582  0
                 append( sb, "", 0 );
 583  
 
 584  0
                 append( sb, "eclipseDownloadSources", 2 );
 585  0
                 append( sb, "Deprecated. use downloadSources", 3 );
 586  0
                 append( sb, "", 0 );
 587  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. DEPRECATED - use downloadSources", 3 );
 588  0
                 append( sb, "", 0 );
 589  
 
 590  0
                 append( sb, "eclipseProjectDir", 2 );
 591  0
                 append( sb, "Eclipse workspace directory.", 3 );
 592  0
                 append( sb, "", 0 );
 593  
 
 594  0
                 append( sb, "excludes", 2 );
 595  0
                 append( sb, "List of artifact to exclude from eclipse classpath, beeing provided by some eclipse classPathContainer [MECLIPSE-79]", 3 );
 596  0
                 append( sb, "", 0 );
 597  
 
 598  0
                 append( sb, "forceRecheck", 2 );
 599  0
                 append( sb, "Enables/disables the rechecking of the remote repository for downloading source/javadoc attachments. Defaults to false. When this flag is true and the source or javadoc attachment has a status cache to indicate that it is not available, then the remote repository will be rechecked for a source or javadoc attachment and the status cache updated to reflect the new state.", 3 );
 600  0
                 append( sb, "", 0 );
 601  
 
 602  0
                 append( sb, "hibernate", 2 );
 603  0
                 append( sb, "Hibernate configuration placeholder\n\n<hibernate>\n<config-file>src/main/resources/applicationContext-persistence.xml</config-file>\n<session-factory-id>mySessionFactory</session-factory-id>\n</hibernate>\n", 3 );
 604  0
                 append( sb, "", 0 );
 605  
 
 606  0
                 append( sb, "limitProjectReferencesToWorkspace (Default: false)", 2 );
 607  0
                 append( sb, "Limit the use of project references to the current workspace. No project references will be created to projects in the reactor when they are not available in the workspace.", 3 );
 608  0
                 append( sb, "", 0 );
 609  
 
 610  0
                 append( sb, "manifest (Default: ${basedir}/META-INF/MANIFEST.MF)", 2 );
 611  0
                 append( sb, "The relative path of the manifest file", 3 );
 612  0
                 append( sb, "", 0 );
 613  
 
 614  0
                 append( sb, "packaging", 2 );
 615  0
                 append( sb, "The project packaging.", 3 );
 616  0
                 append( sb, "", 0 );
 617  
 
 618  0
                 append( sb, "pde (Default: false)", 2 );
 619  0
                 append( sb, "Is it an PDE project? If yes, the plugin adds the necessary natures and build commands to the .project file. Additionally it copies all libraries to a project local directory and references them instead of referencing the files in the local Maven repository. It also ensured that the \'Bundle-Classpath\' in META-INF/MANIFEST.MF is synchronized.", 3 );
 620  0
                 append( sb, "", 0 );
 621  
 
 622  0
                 append( sb, "projectNameTemplate", 2 );
 623  0
                 append( sb, "Allows configuring the name of the eclipse projects. This property if set wins over addVersionToProjectName and addGroupIdToProjectName You can use [groupId], [artifactId] and [version] variables. eg. [groupId].[artifactId]-[version]", 3 );
 624  0
                 append( sb, "", 0 );
 625  
 
 626  0
                 append( sb, "projectnatures", 2 );
 627  0
                 append( sb, "List of eclipse project natures. By default the org.eclipse.jdt.core.javanature nature plus the needed WTP natures are added. Natures added using this property replace the default list.\n<projectnatures>\n<projectnature>org.eclipse.jdt.core.javanature</projectnature>\n<projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>\n</projectnatures>\n", 3 );
 628  0
                 append( sb, "", 0 );
 629  
 
 630  0
                 append( sb, "skip (Default: false)", 2 );
 631  0
                 append( sb, "Skip the operation when true.", 3 );
 632  0
                 append( sb, "", 0 );
 633  
 
 634  0
                 append( sb, "sourceExcludes", 2 );
 635  0
                 append( sb, "List of exclusions to add to the source directories on the classpath. Adds excluding=\'\' to the classpathentry of the eclipse .classpath file. [MECLIPSE-104]", 3 );
 636  0
                 append( sb, "", 0 );
 637  
 
 638  0
                 append( sb, "sourceIncludes", 2 );
 639  0
                 append( sb, "List of inclusions to add to the source directories on the classpath. Adds including=\'\' to the classpathentry of the eclipse .classpath file.\nJava projects will always include \'**/*.java\'\n\nAjdt projects will always include \'**/*.aj\'\n\n[MECLIPSE-104]\n", 3 );
 640  0
                 append( sb, "", 0 );
 641  
 
 642  0
                 append( sb, "spring", 2 );
 643  0
                 append( sb, "Spring configuration placeholder\n\n<spring>\n<version>1.0/2.0</version>\n<file-pattern>applicationContext-*.xml</file-pattern>\n<basedir>src/main/resources</basedir>\n</spring>\n", 3 );
 644  0
                 append( sb, "", 0 );
 645  
 
 646  0
                 append( sb, "struts", 2 );
 647  0
                 append( sb, "Allow declaration of struts properties for MyEclipse\n\n<struts>\n<version>1.2.9</version>\n<servlet-name>action</servlet-name>\n<pattern>*.do</pattern>\n<base-package>1.2.9</base-package>\n</struts>\n", 3 );
 648  0
                 append( sb, "", 0 );
 649  
 
 650  0
                 append( sb, "useProjectReferences (Default: true)", 2 );
 651  0
                 append( sb, "When set to false, the plugin will not create sub-projects and instead reference those sub-projects using the installed package in the local repository", 3 );
 652  0
                 append( sb, "", 0 );
 653  
 
 654  0
                 append( sb, "workspace", 2 );
 655  0
                 append( sb, "This eclipse workspace is read and all artifacts detected there will be connected as eclipse projects and will not be linked to the jars in the local repository. Requirement is that it was created with the similar wtp settings as the reactor projects, but the project name template my differ. The pom\'s in the workspace projects may not contain variables in the artefactId, groupId and version tags. If workspace is not defined, then an attempt to locate it by checking up the directory hierarchy will be made.", 3 );
 656  0
                 append( sb, "", 0 );
 657  
 
 658  0
                 append( sb, "wtpContextName", 2 );
 659  0
                 append( sb, "JEE context name of the WTP module. ( ex. WEB context name ).", 3 );
 660  0
                 append( sb, "", 0 );
 661  
 
 662  0
                 append( sb, "wtpapplicationxml (Default: false)", 2 );
 663  0
                 append( sb, "Must the application files be written for ear projects in a separate directory.", 3 );
 664  0
                 append( sb, "", 0 );
 665  
 
 666  0
                 append( sb, "wtpdefaultserver", 2 );
 667  0
                 append( sb, "What WTP defined server to use for deployment informations.", 3 );
 668  0
                 append( sb, "", 0 );
 669  
 
 670  0
                 append( sb, "wtpmanifest (Default: false)", 2 );
 671  0
                 append( sb, "Must the manifest files be written for java projects so that that the jee classpath for wtp is correct.", 3 );
 672  0
                 append( sb, "", 0 );
 673  
 
 674  0
                 append( sb, "wtpversion (Default: none)", 2 );
 675  0
                 append( sb, "The version of WTP for which configuration files will be generated. The default value is \'none\' (don\'t generate WTP configuration), supported versions are \'R7\', \'1.0\', and \'1.5\'", 3 );
 676  0
                 append( sb, "", 0 );
 677  
             }
 678  
         }
 679  
 
 680  0
         if ( goal == null || goal.length() <= 0 || "myeclipse-clean".equals( goal ) )
 681  
         {
 682  0
             append( sb, "eclipse:myeclipse-clean", 0 );
 683  0
             append( sb, "Deletes configuration files used by MyEclipse", 1 );
 684  0
             append( sb, "", 0 );
 685  0
             if ( detail )
 686  
             {
 687  0
                 append( sb, "Available parameters:", 1 );
 688  0
                 append( sb, "", 0 );
 689  
 
 690  0
                 append( sb, "additionalConfig", 2 );
 691  0
                 append( sb, "additional generic configuration files for eclipse", 3 );
 692  0
                 append( sb, "", 0 );
 693  
 
 694  0
                 append( sb, "basedir", 2 );
 695  0
                 append( sb, "The root directory of the project", 3 );
 696  0
                 append( sb, "", 0 );
 697  
 
 698  0
                 append( sb, "packaging", 2 );
 699  0
                 append( sb, "Packaging for the current project.", 3 );
 700  0
                 append( sb, "", 0 );
 701  
 
 702  0
                 append( sb, "skip (Default: false)", 2 );
 703  0
                 append( sb, "Skip the operation when true.", 3 );
 704  0
                 append( sb, "", 0 );
 705  
             }
 706  
         }
 707  
 
 708  0
         if ( goal == null || goal.length() <= 0 || "rad".equals( goal ) )
 709  
         {
 710  0
             append( sb, "eclipse:rad", 0 );
 711  0
             append( sb, "Generates the rad-6 configuration files.", 1 );
 712  0
             append( sb, "", 0 );
 713  0
             if ( detail )
 714  
             {
 715  0
                 append( sb, "Available parameters:", 1 );
 716  0
                 append( sb, "", 0 );
 717  
 
 718  0
                 append( sb, "addGroupIdToProjectName (Default: false)", 2 );
 719  0
                 append( sb, "If set to true, the groupId of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 720  0
                 append( sb, "", 0 );
 721  
 
 722  0
                 append( sb, "addVersionToProjectName (Default: false)", 2 );
 723  0
                 append( sb, "If set to true, the version number of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.", 3 );
 724  0
                 append( sb, "", 0 );
 725  
 
 726  0
                 append( sb, "additionalBuildcommands", 2 );
 727  0
                 append( sb, "List of eclipse build commands to be added to the default ones. Old style:\n<additionalBuildcommands>\n<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>\n</additionalBuildcommands>\nNew style:\n<additionalBuildcommands>\n<buildCommand>\n<name>org.ui.externaltools.ExternalToolBuilder</name>\n<triggers>auto,full,incremental,</triggers>\n<arguments>\n<LaunchConfigHandle>&lt;project&gt;./externalToolBuilders/MavenBuilder.launch</LaunchConfighandle>\n</arguments>\n</buildCommand>\n</additionalBuildcommands>\nNote the difference between buildcommand and buildCommand. You can mix and match old and new-style configuration entries.", 3 );
 728  0
                 append( sb, "", 0 );
 729  
 
 730  0
                 append( sb, "additionalConfig", 2 );
 731  0
                 append( sb, "Allow to configure additional generic configuration files for eclipse that will be written out to disk when running eclipse:eclipse. FOr each file you can specify the name and the text content.\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<content>\n<![CDATA[<fileset-config\u00a0file-format-version=\'1.2.0\'\u00a0simple-config=\'true\'>\n<fileset\u00a0name=\'all\'\u00a0enabled=\'true\'\u00a0check-config-name=\'acme\u00a0corporate\u00a0style\'\u00a0local=\'false\'>\n<file-match-pattern\u00a0match-pattern=\'.\'\u00a0include-pattern=\'true\'/>\n</fileset>\n<filter\u00a0name=\'NonSrcDirs\'\u00a0enabled=\'true\'/>\n</fileset-config>]]>\n</content>\n</file>\n</additionalConfig>\n</configuration>\n</plugin>\nInstead of the content you can also define (from version 2.5) an url to download the file :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<url>http://some.place.org/path/to/file</url>\n</file>\n</additionalConfig>\n</configuration>\nor a location :\n<plugin>\n<groupId>org.apache.maven.plugins</groupId>\n<artifactId>maven-eclipse-plugin</artifactId>\n<configuration>\n<additionalConfig>\n<file>\n<name>.checkstyle</name>\n<location>/checkstyle-config.xml</location>\n</file>\n</additionalConfig>\n</configuration>\n<dependencies>\n<!--\u00a0The\u00a0file\u00a0defined\u00a0in\u00a0the\u00a0location\u00a0is\u00a0stored\u00a0in\u00a0this\u00a0dependency\u00a0-->\n<dependency>\n<groupId>eclipsetest</groupId>\n<artifactId>checkstyle-config</artifactId>\n<version>1.0</version>\n</dependency>\n</dependencies>\n</plugin>\n", 3 );
 732  0
                 append( sb, "", 0 );
 733  
 
 734  0
                 append( sb, "additionalProjectFacets", 2 );
 735  0
                 append( sb, "List of eclipse project facets to be added to the default ones.\n<additionalProjectFacets>\n<jst.jsf>1.1<jst.jsf/>\n</additionalProjectFacets>\n", 3 );
 736  0
                 append( sb, "", 0 );
 737  
 
 738  0
                 append( sb, "additionalProjectnatures", 2 );
 739  0
                 append( sb, "List of eclipse project natures to be added to the default ones.\n<additionalProjectnatures>\n<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>\n</additionalProjectnatures>\n", 3 );
 740  0
                 append( sb, "", 0 );
 741  
 
 742  0
                 append( sb, "ajdtVersion (Default: 1.5)", 2 );
 743  0
                 append( sb, "The version of AJDT for which configuration files will be generated. The default value is \'1.5\', supported versions are \'none\', \'1.4\', and \'1.5\'.", 3 );
 744  0
                 append( sb, "", 0 );
 745  
 
 746  0
                 append( sb, "buildOutputDirectory (Default: ${project.build.outputDirectory})", 2 );
 747  0
                 append( sb, "The default output directory", 3 );
 748  0
                 append( sb, "", 0 );
 749  
 
 750  0
                 append( sb, "buildcommands", 2 );
 751  0
                 append( sb, "List of eclipse build commands. By default the org.eclipse.jdt.core.javabuilder builder plus the needed WTP builders are added. If you specify any configuration for this parameter, only those buildcommands specified will be used; the defaults won\'t be added. Use the additionalBuildCommands parameter for that. Configuration example: Old style:\n<buildcommands>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand>\n<buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>\n<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand>\n</buildcommands>\nFor new style, see additionalBuildCommands.", 3 );
 752  0
                 append( sb, "", 0 );
 753  
 
 754  0
                 append( sb, "classpathContainers", 2 );
 755  0
                 append( sb, "List of container classpath entries. By default the org.eclipse.jdt.launching.JRE_CONTAINER classpath container is added. Configuration example:\n<classpathContainers>\n<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>\n<classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache\u00a0Tomcat\u00a0v5.5</classpathContainer>\n<classpathContainer>org.eclipse.jst.j2ee.internal.web.container/artifact</classpathContainer>\n</classpathContainers>\n", 3 );
 756  0
                 append( sb, "", 0 );
 757  
 
 758  0
                 append( sb, "downloadJavadocs", 2 );
 759  0
                 append( sb, "Enables/disables the downloading of javadoc attachments. Defaults to false. When this flag is true remote repositories are checked for javadocs: in order to avoid repeated check for unavailable javadoc archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 760  0
                 append( sb, "", 0 );
 761  
 
 762  0
                 append( sb, "downloadSources", 2 );
 763  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. When this flag is true remote repositories are checked for sources: in order to avoid repeated check for unavailable source archives, a status cache is mantained. With versions 2.6+ of the plugin to reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option with versions. With older versions delete the file mvn-eclipse-cache.properties in the target directory.", 3 );
 764  0
                 append( sb, "", 0 );
 765  
 
 766  0
                 append( sb, "eclipseDownloadSources", 2 );
 767  0
                 append( sb, "Deprecated. use downloadSources", 3 );
 768  0
                 append( sb, "", 0 );
 769  0
                 append( sb, "Enables/disables the downloading of source attachments. Defaults to false. DEPRECATED - use downloadSources", 3 );
 770  0
                 append( sb, "", 0 );
 771  
 
 772  0
                 append( sb, "eclipseProjectDir", 2 );
 773  0
                 append( sb, "Eclipse workspace directory.", 3 );
 774  0
                 append( sb, "", 0 );
 775  
 
 776  0
                 append( sb, "excludes", 2 );
 777  0
                 append( sb, "List of artifact to exclude from eclipse classpath, beeing provided by some eclipse classPathContainer [MECLIPSE-79]", 3 );
 778  0
                 append( sb, "", 0 );
 779  
 
 780  0
                 append( sb, "forceRecheck", 2 );
 781  0
                 append( sb, "Enables/disables the rechecking of the remote repository for downloading source/javadoc attachments. Defaults to false. When this flag is true and the source or javadoc attachment has a status cache to indicate that it is not available, then the remote repository will be rechecked for a source or javadoc attachment and the status cache updated to reflect the new state.", 3 );
 782  0
                 append( sb, "", 0 );
 783  
 
 784  0
                 append( sb, "generatedResourceDirName (Default: target/generated-resources/rad6)", 2 );
 785  0
                 append( sb, "Use this to specify a different generated resources folder than target/generated-resources/rad6. Set to \'none\' to skip this folder generation.", 3 );
 786  0
                 append( sb, "", 0 );
 787  
 
 788  0
                 append( sb, "limitProjectReferencesToWorkspace (Default: false)", 2 );
 789  0
                 append( sb, "Limit the use of project references to the current workspace. No project references will be created to projects in the reactor when they are not available in the workspace.", 3 );
 790  0
                 append( sb, "", 0 );
 791  
 
 792  0
                 append( sb, "manifest (Default: ${basedir}/META-INF/MANIFEST.MF)", 2 );
 793  0
                 append( sb, "The relative path of the manifest file", 3 );
 794  0
                 append( sb, "", 0 );
 795  
 
 796  0
                 append( sb, "packaging", 2 );
 797  0
                 append( sb, "The project packaging.", 3 );
 798  0
                 append( sb, "", 0 );
 799  
 
 800  0
                 append( sb, "pde (Default: false)", 2 );
 801  0
                 append( sb, "Is it an PDE project? If yes, the plugin adds the necessary natures and build commands to the .project file. Additionally it copies all libraries to a project local directory and references them instead of referencing the files in the local Maven repository. It also ensured that the \'Bundle-Classpath\' in META-INF/MANIFEST.MF is synchronized.", 3 );
 802  0
                 append( sb, "", 0 );
 803  
 
 804  0
                 append( sb, "projectNameTemplate", 2 );
 805  0
                 append( sb, "Allows configuring the name of the eclipse projects. This property if set wins over addVersionToProjectName and addGroupIdToProjectName You can use [groupId], [artifactId] and [version] variables. eg. [groupId].[artifactId]-[version]", 3 );
 806  0
                 append( sb, "", 0 );
 807  
 
 808  0
                 append( sb, "projectnatures", 2 );
 809  0
                 append( sb, "List of eclipse project natures. By default the org.eclipse.jdt.core.javanature nature plus the needed WTP natures are added. Natures added using this property replace the default list.\n<projectnatures>\n<projectnature>org.eclipse.jdt.core.javanature</projectnature>\n<projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>\n</projectnatures>\n", 3 );
 810  0
                 append( sb, "", 0 );
 811  
 
 812  0
                 append( sb, "skip (Default: false)", 2 );
 813  0
                 append( sb, "Skip the operation when true.", 3 );
 814  0
                 append( sb, "", 0 );
 815  
 
 816  0
                 append( sb, "sourceExcludes", 2 );
 817  0
                 append( sb, "List of exclusions to add to the source directories on the classpath. Adds excluding=\'\' to the classpathentry of the eclipse .classpath file. [MECLIPSE-104]", 3 );
 818  0
                 append( sb, "", 0 );
 819  
 
 820  0
                 append( sb, "sourceIncludes", 2 );
 821  0
                 append( sb, "List of inclusions to add to the source directories on the classpath. Adds including=\'\' to the classpathentry of the eclipse .classpath file.\nJava projects will always include \'**/*.java\'\n\nAjdt projects will always include \'**/*.aj\'\n\n[MECLIPSE-104]\n", 3 );
 822  0
                 append( sb, "", 0 );
 823  
 
 824  0
                 append( sb, "useProjectReferences (Default: true)", 2 );
 825  0
                 append( sb, "When set to false, the plugin will not create sub-projects and instead reference those sub-projects using the installed package in the local repository", 3 );
 826  0
                 append( sb, "", 0 );
 827  
 
 828  0
                 append( sb, "warContextRoot", 2 );
 829  0
                 append( sb, "The context root of the webapplication. This parameter is only used when the current project is a war project, else it will be ignored.", 3 );
 830  0
                 append( sb, "", 0 );
 831  
 
 832  0
                 append( sb, "workspace", 2 );
 833  0
                 append( sb, "This eclipse workspace is read and all artifacts detected there will be connected as eclipse projects and will not be linked to the jars in the local repository. Requirement is that it was created with the similar wtp settings as the reactor projects, but the project name template my differ. The pom\'s in the workspace projects may not contain variables in the artefactId, groupId and version tags. If workspace is not defined, then an attempt to locate it by checking up the directory hierarchy will be made.", 3 );
 834  0
                 append( sb, "", 0 );
 835  
 
 836  0
                 append( sb, "wtpContextName", 2 );
 837  0
                 append( sb, "JEE context name of the WTP module. ( ex. WEB context name ).", 3 );
 838  0
                 append( sb, "", 0 );
 839  
 
 840  0
                 append( sb, "wtpapplicationxml (Default: false)", 2 );
 841  0
                 append( sb, "Must the application files be written for ear projects in a separate directory.", 3 );
 842  0
                 append( sb, "", 0 );
 843  
 
 844  0
                 append( sb, "wtpdefaultserver", 2 );
 845  0
                 append( sb, "What WTP defined server to use for deployment informations.", 3 );
 846  0
                 append( sb, "", 0 );
 847  
 
 848  0
                 append( sb, "wtpmanifest (Default: false)", 2 );
 849  0
                 append( sb, "Must the manifest files be written for java projects so that that the jee classpath for wtp is correct.", 3 );
 850  0
                 append( sb, "", 0 );
 851  
 
 852  0
                 append( sb, "wtpversion (Default: none)", 2 );
 853  0
                 append( sb, "The version of WTP for which configuration files will be generated. The default value is \'none\' (don\'t generate WTP configuration), supported versions are \'R7\', \'1.0\', and \'1.5\'", 3 );
 854  0
                 append( sb, "", 0 );
 855  
             }
 856  
         }
 857  
 
 858  0
         if ( goal == null || goal.length() <= 0 || "rad-clean".equals( goal ) )
 859  
         {
 860  0
             append( sb, "eclipse:rad-clean", 0 );
 861  0
             append( sb, "Deletes the config files used by Rad-6. the files .j2ee and the file .websettings", 1 );
 862  0
             append( sb, "", 0 );
 863  0
             if ( detail )
 864  
             {
 865  0
                 append( sb, "Available parameters:", 1 );
 866  0
                 append( sb, "", 0 );
 867  
 
 868  0
                 append( sb, "additionalConfig", 2 );
 869  0
                 append( sb, "additional generic configuration files for eclipse", 3 );
 870  0
                 append( sb, "", 0 );
 871  
 
 872  0
                 append( sb, "basedir", 2 );
 873  0
                 append( sb, "The root directory of the project", 3 );
 874  0
                 append( sb, "", 0 );
 875  
 
 876  0
                 append( sb, "packaging", 2 );
 877  0
                 append( sb, "Packaging for the current project.", 3 );
 878  0
                 append( sb, "", 0 );
 879  
 
 880  0
                 append( sb, "skip (Default: false)", 2 );
 881  0
                 append( sb, "Skip the operation when true.", 3 );
 882  0
                 append( sb, "", 0 );
 883  
             }
 884  
         }
 885  
 
 886  0
         if ( goal == null || goal.length() <= 0 || "remove-cache".equals( goal ) )
 887  
         {
 888  0
             append( sb, "eclipse:remove-cache", 0 );
 889  0
             append( sb, "Removes the not-available marker files from the repository.", 1 );
 890  0
             append( sb, "", 0 );
 891  0
             if ( detail )
 892  
             {
 893  0
                 append( sb, "Available parameters:", 1 );
 894  0
                 append( sb, "", 0 );
 895  
             }
 896  
         }
 897  
 
 898  0
         if ( goal == null || goal.length() <= 0 || "to-maven".equals( goal ) )
 899  
         {
 900  0
             append( sb, "eclipse:to-maven", 0 );
 901  0
             append( sb, "Add eclipse artifacts from an eclipse installation to the local repo. This mojo automatically analize the eclipse directory, copy plugins jars to the local maven repo, and generates appropriate poms. This is the official central repository builder for Eclipse plugins, so it has the necessary default values. For customized repositories see MakeArtifactsMojo Typical usage: mvn eclipse:to-maven -DdeployTo=maven.org::default::scpexe://repo1.maven.org/home/maven/repository-staging/to-ibiblio/eclipse-staging -DeclipseDir=.", 1 );
 902  0
             append( sb, "", 0 );
 903  0
             if ( detail )
 904  
             {
 905  0
                 append( sb, "Available parameters:", 1 );
 906  0
                 append( sb, "", 0 );
 907  
 
 908  0
                 append( sb, "deployTo", 2 );
 909  0
                 append( sb, "Specifies a remote repository to which generated artifacts should be deployed to. If this property is specified, artifacts are also deployed to the remote repo. The format for this parameter is id::layout::url", 3 );
 910  0
                 append( sb, "", 0 );
 911  
 
 912  0
                 append( sb, "eclipseDir", 2 );
 913  0
                 append( sb, "Eclipse installation dir. If not set, a value for this parameter will be asked on the command line.", 3 );
 914  0
                 append( sb, "", 0 );
 915  
 
 916  0
                 append( sb, "stripQualifier (Default: false)", 2 );
 917  0
                 append( sb, "Strip qualifier (fourth token) from the plugin version. Qualifiers are for eclipse plugin the equivalent of timestamped snapshot versions for Maven, but the date is maintained also for released version (e.g. a jar for the release 3.2 can be named org.eclipse.core.filesystem_1.0.0.v20060603.jar. It\'s usually handy to not to include this qualifier when generating maven artifacts for major releases, while it\'s needed when working with eclipse integration/nightly builds.", 3 );
 918  0
                 append( sb, "", 0 );
 919  
             }
 920  
         }
 921  
 
 922  0
         if ( getLog().isInfoEnabled() )
 923  
         {
 924  0
             getLog().info( sb.toString() );
 925  
         }
 926  0
     }
 927  
 
 928  
     /**
 929  
      * <p>Repeat a String <code>n</code> times to form a new string.</p>
 930  
      *
 931  
      * @param str String to repeat
 932  
      * @param repeat number of times to repeat str
 933  
      * @return String with repeated String
 934  
      * @throws NegativeArraySizeException if <code>repeat < 0</code>
 935  
      * @throws NullPointerException if str is <code>null</code>
 936  
      */
 937  
     private static String repeat( String str, int repeat )
 938  
     {
 939  0
         StringBuffer buffer = new StringBuffer( repeat * str.length() );
 940  
 
 941  0
         for ( int i = 0; i < repeat; i++ )
 942  
         {
 943  0
             buffer.append( str );
 944  
         }
 945  
 
 946  0
         return buffer.toString();
 947  
     }
 948  
 
 949  
     /** 
 950  
      * Append a description to the buffer by respecting the indentSize and lineLength parameters.
 951  
      * <b>Note</b>: The last character is always a new line.
 952  
      * 
 953  
      * @param sb The buffer to append the description, not <code>null</code>.
 954  
      * @param description The description, not <code>null</code>.
 955  
      * @param indent The base indentation level of each line, must not be negative.
 956  
      */
 957  
     private void append( StringBuffer sb, String description, int indent )
 958  
     {
 959  0
         for ( Iterator it = toLines( description, indent, indentSize, lineLength ).iterator(); it.hasNext(); )
 960  
         {
 961  0
             sb.append( it.next().toString() ).append( '\n' );
 962  
         }
 963  0
     }
 964  
 
 965  
     /** 
 966  
      * Splits the specified text into lines of convenient display length.
 967  
      * 
 968  
      * @param text The text to split into lines, must not be <code>null</code>.
 969  
      * @param indent The base indentation level of each line, must not be negative.
 970  
      * @param indentSize The size of each indentation, must not be negative.
 971  
      * @param lineLength The length of the line, must not be negative.
 972  
      * @return The sequence of display lines, never <code>null</code>.
 973  
      * @throws NegativeArraySizeException if <code>indent < 0</code>
 974  
      */
 975  
     private static List toLines( String text, int indent, int indentSize, int lineLength )
 976  
     {
 977  0
         List lines = new ArrayList();
 978  
 
 979  0
         String ind = repeat( "\t", indent );
 980  0
         String[] plainLines = text.split( "(\r\n)|(\r)|(\n)" );
 981  0
         for ( int i = 0; i < plainLines.length; i++ )
 982  
         {
 983  0
             toLines( lines, ind + plainLines[i], indentSize, lineLength );
 984  
         }
 985  
 
 986  0
         return lines;
 987  
     }
 988  
 
 989  
     /** 
 990  
      * Adds the specified line to the output sequence, performing line wrapping if necessary.
 991  
      * 
 992  
      * @param lines The sequence of display lines, must not be <code>null</code>.
 993  
      * @param line The line to add, must not be <code>null</code>.
 994  
      * @param indentSize The size of each indentation, must not be negative.
 995  
      * @param lineLength The length of the line, must not be negative.
 996  
      */
 997  
     private static void toLines( List lines, String line, int indentSize, int lineLength )
 998  
     {
 999  0
         int lineIndent = getIndentLevel( line );
 1000  0
         StringBuffer buf = new StringBuffer( 256 );
 1001  0
         String[] tokens = line.split( " +" );
 1002  0
         for ( int i = 0; i < tokens.length; i++ )
 1003  
         {
 1004  0
             String token = tokens[i];
 1005  0
             if ( i > 0 )
 1006  
             {
 1007  0
                 if ( buf.length() + token.length() >= lineLength )
 1008  
                 {
 1009  0
                     lines.add( buf.toString() );
 1010  0
                     buf.setLength( 0 );
 1011  0
                     buf.append( repeat( " ", lineIndent * indentSize ) );
 1012  
                 }
 1013  
                 else
 1014  
                 {
 1015  0
                     buf.append( ' ' );
 1016  
                 }
 1017  
             }
 1018  0
             for ( int j = 0; j < token.length(); j++ )
 1019  
             {
 1020  0
                 char c = token.charAt( j );
 1021  0
                 if ( c == '\t' )
 1022  
                 {
 1023  0
                     buf.append( repeat( " ", indentSize - buf.length() % indentSize ) );
 1024  
                 }
 1025  0
                 else if ( c == '\u00A0' )
 1026  
                 {
 1027  0
                     buf.append( ' ' );
 1028  
                 }
 1029  
                 else
 1030  
                 {
 1031  0
                     buf.append( c );
 1032  
                 }
 1033  
             }
 1034  
         }
 1035  0
         lines.add( buf.toString() );
 1036  0
     }
 1037  
 
 1038  
     /** 
 1039  
      * Gets the indentation level of the specified line.
 1040  
      * 
 1041  
      * @param line The line whose indentation level should be retrieved, must not be <code>null</code>.
 1042  
      * @return The indentation level of the line.
 1043  
      */
 1044  
     private static int getIndentLevel( String line )
 1045  
     {
 1046  0
         int level = 0;
 1047  0
         for ( int i = 0; i < line.length() && line.charAt( i ) == '\t'; i++ )
 1048  
         {
 1049  0
             level++;
 1050  
         }
 1051  0
         for ( int i = level + 1; i <= level + 4 && i < line.length(); i++ )
 1052  
         {
 1053  0
             if ( line.charAt( i ) == '\t' )
 1054  
             {
 1055  0
                 level++;
 1056  0
                 break;
 1057  
             }
 1058  
         }
 1059  0
         return level;
 1060  
     }
 1061  
 }