Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.apache.maven.plugin.changelog;
  
  import java.util.Iterator;
  import java.util.List;
  
Display help information on maven-changelog-plugin.
Call
  mvn changelog:help -Ddetail=true -Dgoal=<goal-name>
to display parameter details.

Author(s):
org.apache.maven.tools.plugin.generator.PluginHelpGenerator (version 2.6)
Version:
generated on Tue May 25 21:22:18 CEST 2010
Goal:
help
RequiresProject:
false
 
 public class HelpMojo
     extends AbstractMojo
 {
    
If true, display all settable properties for each goal.

Parameter:
expression="${detail}" default-value="false"
 
     private boolean detail;

    
The name of the goal for which to show help. If unspecified, all goals will be displayed.

Parameter:
expression="${goal}"
 
     private java.lang.String goal;

    
The maximum length of a display line, should be positive.

Parameter:
expression="${lineLength}" default-value="80"
 
     private int lineLength;

    
The number of spaces per indentation level, should be positive.

Parameter:
expression="${indentSize}" default-value="2"
 
     private int indentSize;


    
 
     public void execute()
         throws MojoExecutionException
     {
         if (  <= 0 )
         {
             getLog().warn"The parameter 'lineLength' should be positive, using '80' as default." );
              = 80;
         }
         if (  <= 0 )
         {
             getLog().warn"The parameter 'indentSize' should be positive, using '2' as default." );
              = 2;
         }
 
         StringBuffer sb = new StringBuffer();
 
         appendsb"org.apache.maven.plugins:maven-changelog-plugin:2.2", 0 );
         appendsb"", 0 );
 
         appendsb"Maven Changelog Plugin", 0 );
         appendsb"Produce SCM changelog reports.", 1 );
         appendsb"", 0 );
 
         if (  == null || .length() <= 0 )
         {
             appendsb"This plugin has 4 goals:", 0 );
             appendsb"", 0 );
         }
 
         if (  == null || .length() <= 0 || "changelog".equals ) )
         {
             appendsb"changelog:changelog", 0 );
             appendsb"Generate a changelog report.", 1 );
             appendsb"", 0 );
             if (  )
             {
                 appendsb"Available parameters:", 1 );
                 appendsb"", 0 );
 
                 appendsb"basedir", 2 );
                 appendsb"Input dir. Directory where the files under SCM control are located.", 3 );
                 appendsb"", 0 );
 
                 appendsb"commentFormat", 2 );
                 appendsb"Comment format string used for interrogating the revision control system. Currently only used by the ClearcaseChangeLogGenerator.", 3 );
                 appendsb"", 0 );
 
                 appendsb"connectionType (Default: connection)", 2 );
                 appendsb"Allows the user to choose which scm connection to use when connecting to the scm. Can either be \'connection\' or \'developerConnection\'.", 3 );
                appendsb"", 0 );
                appendsb"dateFormat (Default: yyyy-MM-dd HH:mm:ss)", 2 );
                appendsb"Used to specify the date format of the log entries that are retrieved from your SCM system.", 3 );
                appendsb"", 0 );
                appendsb"dates", 2 );
                appendsb"Used to specify the absolute date (or list of dates) to start log entries from.", 3 );
                appendsb"", 0 );
                appendsb"developers", 2 );
                appendsb"List of developers to be shown on the report.", 3 );
                appendsb"", 0 );
                appendsb"displayChangeSetDetailUrl", 2 );
                appendsb"A template string that is used to create the changeset URL. If not defined no change set link will be created. There is one special token that you can use in your template:\n-\t%REV% - this is the changeset revision\n\nExample: http://fisheye.sourceforge.net/changelog/a-project/?cs=%REV%\n\nNote: If you don\'t supply the %REV% token in your template, the revision will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"displayFileDetailUrl (Default: ${project.scm.url})", 2 );
                appendsb"A template string that is used to create the URL to the file details. There is a special token that you can use in your template:\n-\t%FILE% - this is the path to a file\n\nExample: http://checkstyle.cvs.sourceforge.net/checkstyle%FILE%?view=markup\n\nNote: If you don\'t supply the token in your template, the path of the file will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"displayFileRevDetailUrl", 2 );
                appendsb"A template string that is used to create the revision aware URL to the file details in a similar fashion to the displayFileDetailUrl. When a report contains both file and file revision information, as in the Change Log report, this template string can be used to create a revision aware URL to the file details. If not defined this template string defaults to the same value as the displayFileDetailUrl and thus revision number aware links will not be used. There are two special tokens that you can use in your template:\n-\t%FILE% - this is the path to a file\n-\t%REV% - this is the revision of the file\n\nExample: http://fisheye.sourceforge.net/browse/a-project/%FILE%?r=%REV%\n\nNote: If you don\'t supply the %FILE% token in your template, the path of the file will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"headingDateFormat (Default: yyyy-MM-dd)", 2 );
                appendsb"Used to specify the format to use for the dates in the headings of the report.", 3 );
                appendsb"", 0 );
                appendsb"issueIDRegexPattern (Default: [a-zA-Z]{2,}-\\d+)", 2 );
                appendsb"A pattern used to identify \'issue tracker\' IDs such as those used by JIRA, Bugzilla and alike in the SCM commit messages. Any matched patterns are replaced with issueLinkUrl URL. The default value is a JIRA-style issue identification pattern.", 3 );
                appendsb"", 0 );
                appendsb"issueLinkUrl (Default: http://jira.codehaus.org/browse/%ISSUE%)", 2 );
                appendsb"The issue tracker URL used when replacing any matched issueIDRegexPattern found in the SCM commit messages. The default is URL is the codehaus JIRA URL. If %ISSUE% is found in the URL it is replaced with the matched issue ID, otherwise the matched issue ID is appended to the URL.", 3 );
                appendsb"", 0 );
                appendsb"outputEncoding (Default: ISO-8859-1)", 2 );
                appendsb"Output encoding for the xml document", 3 );
                appendsb"", 0 );
                appendsb"outputXML", 2 );
                appendsb"Output file for xml document", 3 );
                appendsb"", 0 );
                appendsb"outputXMLExpiration (Default: 60)", 2 );
                appendsb"Allows the user to make changelog regenerate the changelog.xml file for the specified time in minutes.", 3 );
                appendsb"", 0 );
                appendsb"passphrase", 2 );
                appendsb"The passphrase (used by java svn).", 3 );
                appendsb"", 0 );
                appendsb"password", 2 );
                appendsb"The user password (used by svn and starteam protocol).", 3 );
                appendsb"", 0 );
                appendsb"privateKey", 2 );
                appendsb"The private key (used by java svn).", 3 );
                appendsb"", 0 );
                appendsb"range (Default: -1)", 2 );
                appendsb"Used to specify the number of days of log entries to retrieve.", 3 );
                appendsb"", 0 );
                appendsb"scmUrl", 2 );
                appendsb"The URL to view the scm. Basis for external links from the generated report.", 3 );
                appendsb"", 0 );
                appendsb"systemProperties", 2 );
                appendsb"The system properties to use (needed by the perforce scm provider).", 3 );
                appendsb"", 0 );
                appendsb"tagBase", 2 );
                appendsb"The url of tags base directory (used by svn protocol).", 3 );
                appendsb"", 0 );
                appendsb"tags", 2 );
                appendsb"Used to specify the tag (or list of tags) to start log entries from.", 3 );
                appendsb"", 0 );
                appendsb"type (Default: range)", 2 );
                appendsb"Used to specify whether to build the log using range, tag or date.", 3 );
                appendsb"", 0 );
                appendsb"username", 2 );
                appendsb"The user name (used by svn and starteam protocol).", 3 );
                appendsb"", 0 );
            }
        }
        if (  == null || .length() <= 0 || "dev-activity".equals ) )
        {
            appendsb"changelog:dev-activity", 0 );
            appendsb"Generate a developer activity report.", 1 );
            appendsb"", 0 );
            if (  )
            {
                appendsb"Available parameters:", 1 );
                appendsb"", 0 );
                appendsb"basedir", 2 );
                appendsb"Input dir. Directory where the files under SCM control are located.", 3 );
                appendsb"", 0 );
                appendsb"commentFormat", 2 );
                appendsb"Comment format string used for interrogating the revision control system. Currently only used by the ClearcaseChangeLogGenerator.", 3 );
                appendsb"", 0 );
                appendsb"connectionType (Default: connection)", 2 );
                appendsb"Allows the user to choose which scm connection to use when connecting to the scm. Can either be \'connection\' or \'developerConnection\'.", 3 );
                appendsb"", 0 );
                appendsb"dateFormat (Default: yyyy-MM-dd HH:mm:ss)", 2 );
                appendsb"Used to specify the date format of the log entries that are retrieved from your SCM system.", 3 );
                appendsb"", 0 );
                appendsb"dates", 2 );
                appendsb"Used to specify the absolute date (or list of dates) to start log entries from.", 3 );
                appendsb"", 0 );
                appendsb"developers", 2 );
                appendsb"List of developers to be shown on the report.", 3 );
                appendsb"", 0 );
                appendsb"displayChangeSetDetailUrl", 2 );
                appendsb"A template string that is used to create the changeset URL. If not defined no change set link will be created. There is one special token that you can use in your template:\n-\t%REV% - this is the changeset revision\n\nExample: http://fisheye.sourceforge.net/changelog/a-project/?cs=%REV%\n\nNote: If you don\'t supply the %REV% token in your template, the revision will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"displayFileDetailUrl (Default: ${project.scm.url})", 2 );
                appendsb"A template string that is used to create the URL to the file details. There is a special token that you can use in your template:\n-\t%FILE% - this is the path to a file\n\nExample: http://checkstyle.cvs.sourceforge.net/checkstyle%FILE%?view=markup\n\nNote: If you don\'t supply the token in your template, the path of the file will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"displayFileRevDetailUrl", 2 );
                appendsb"A template string that is used to create the revision aware URL to the file details in a similar fashion to the displayFileDetailUrl. When a report contains both file and file revision information, as in the Change Log report, this template string can be used to create a revision aware URL to the file details. If not defined this template string defaults to the same value as the displayFileDetailUrl and thus revision number aware links will not be used. There are two special tokens that you can use in your template:\n-\t%FILE% - this is the path to a file\n-\t%REV% - this is the revision of the file\n\nExample: http://fisheye.sourceforge.net/browse/a-project/%FILE%?r=%REV%\n\nNote: If you don\'t supply the %FILE% token in your template, the path of the file will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"headingDateFormat (Default: yyyy-MM-dd)", 2 );
                appendsb"Used to specify the format to use for the dates in the headings of the report.", 3 );
                appendsb"", 0 );
                appendsb"issueIDRegexPattern (Default: [a-zA-Z]{2,}-\\d+)", 2 );
                appendsb"A pattern used to identify \'issue tracker\' IDs such as those used by JIRA, Bugzilla and alike in the SCM commit messages. Any matched patterns are replaced with issueLinkUrl URL. The default value is a JIRA-style issue identification pattern.", 3 );
                appendsb"", 0 );
                appendsb"issueLinkUrl (Default: http://jira.codehaus.org/browse/%ISSUE%)", 2 );
                appendsb"The issue tracker URL used when replacing any matched issueIDRegexPattern found in the SCM commit messages. The default is URL is the codehaus JIRA URL. If %ISSUE% is found in the URL it is replaced with the matched issue ID, otherwise the matched issue ID is appended to the URL.", 3 );
                appendsb"", 0 );
                appendsb"outputEncoding (Default: ISO-8859-1)", 2 );
                appendsb"Output encoding for the xml document", 3 );
                appendsb"", 0 );
                appendsb"outputXML", 2 );
                appendsb"Output file for xml document", 3 );
                appendsb"", 0 );
                appendsb"outputXMLExpiration (Default: 60)", 2 );
                appendsb"Allows the user to make changelog regenerate the changelog.xml file for the specified time in minutes.", 3 );
                appendsb"", 0 );
                appendsb"passphrase", 2 );
                appendsb"The passphrase (used by java svn).", 3 );
                appendsb"", 0 );
                appendsb"password", 2 );
                appendsb"The user password (used by svn and starteam protocol).", 3 );
                appendsb"", 0 );
                appendsb"privateKey", 2 );
                appendsb"The private key (used by java svn).", 3 );
                appendsb"", 0 );
                appendsb"range (Default: -1)", 2 );
                appendsb"Used to specify the number of days of log entries to retrieve.", 3 );
                appendsb"", 0 );
                appendsb"scmUrl", 2 );
                appendsb"The URL to view the scm. Basis for external links from the generated report.", 3 );
                appendsb"", 0 );
                appendsb"systemProperties", 2 );
                appendsb"The system properties to use (needed by the perforce scm provider).", 3 );
                appendsb"", 0 );
                appendsb"tagBase", 2 );
                appendsb"The url of tags base directory (used by svn protocol).", 3 );
                appendsb"", 0 );
                appendsb"tags", 2 );
                appendsb"Used to specify the tag (or list of tags) to start log entries from.", 3 );
                appendsb"", 0 );
                appendsb"type (Default: range)", 2 );
                appendsb"Used to specify whether to build the log using range, tag or date.", 3 );
                appendsb"", 0 );
                appendsb"username", 2 );
                appendsb"The user name (used by svn and starteam protocol).", 3 );
                appendsb"", 0 );
            }
        }
        if (  == null || .length() <= 0 || "file-activity".equals ) )
        {
            appendsb"changelog:file-activity", 0 );
            appendsb"Generate a file activity report.", 1 );
            appendsb"", 0 );
            if (  )
            {
                appendsb"Available parameters:", 1 );
                appendsb"", 0 );
                appendsb"basedir", 2 );
                appendsb"Input dir. Directory where the files under SCM control are located.", 3 );
                appendsb"", 0 );
                appendsb"commentFormat", 2 );
                appendsb"Comment format string used for interrogating the revision control system. Currently only used by the ClearcaseChangeLogGenerator.", 3 );
                appendsb"", 0 );
                appendsb"connectionType (Default: connection)", 2 );
                appendsb"Allows the user to choose which scm connection to use when connecting to the scm. Can either be \'connection\' or \'developerConnection\'.", 3 );
                appendsb"", 0 );
                appendsb"dateFormat (Default: yyyy-MM-dd HH:mm:ss)", 2 );
                appendsb"Used to specify the date format of the log entries that are retrieved from your SCM system.", 3 );
                appendsb"", 0 );
                appendsb"dates", 2 );
                appendsb"Used to specify the absolute date (or list of dates) to start log entries from.", 3 );
                appendsb"", 0 );
                appendsb"developers", 2 );
                appendsb"List of developers to be shown on the report.", 3 );
                appendsb"", 0 );
                appendsb"displayChangeSetDetailUrl", 2 );
                appendsb"A template string that is used to create the changeset URL. If not defined no change set link will be created. There is one special token that you can use in your template:\n-\t%REV% - this is the changeset revision\n\nExample: http://fisheye.sourceforge.net/changelog/a-project/?cs=%REV%\n\nNote: If you don\'t supply the %REV% token in your template, the revision will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"displayFileDetailUrl (Default: ${project.scm.url})", 2 );
                appendsb"A template string that is used to create the URL to the file details. There is a special token that you can use in your template:\n-\t%FILE% - this is the path to a file\n\nExample: http://checkstyle.cvs.sourceforge.net/checkstyle%FILE%?view=markup\n\nNote: If you don\'t supply the token in your template, the path of the file will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"displayFileRevDetailUrl", 2 );
                appendsb"A template string that is used to create the revision aware URL to the file details in a similar fashion to the displayFileDetailUrl. When a report contains both file and file revision information, as in the Change Log report, this template string can be used to create a revision aware URL to the file details. If not defined this template string defaults to the same value as the displayFileDetailUrl and thus revision number aware links will not be used. There are two special tokens that you can use in your template:\n-\t%FILE% - this is the path to a file\n-\t%REV% - this is the revision of the file\n\nExample: http://fisheye.sourceforge.net/browse/a-project/%FILE%?r=%REV%\n\nNote: If you don\'t supply the %FILE% token in your template, the path of the file will simply be appended to your template URL.\n", 3 );
                appendsb"", 0 );
                appendsb"headingDateFormat (Default: yyyy-MM-dd)", 2 );
                appendsb"Used to specify the format to use for the dates in the headings of the report.", 3 );
                appendsb"", 0 );
                appendsb"issueIDRegexPattern (Default: [a-zA-Z]{2,}-\\d+)", 2 );
                appendsb"A pattern used to identify \'issue tracker\' IDs such as those used by JIRA, Bugzilla and alike in the SCM commit messages. Any matched patterns are replaced with issueLinkUrl URL. The default value is a JIRA-style issue identification pattern.", 3 );
                appendsb"", 0 );
                appendsb"issueLinkUrl (Default: http://jira.codehaus.org/browse/%ISSUE%)", 2 );
                appendsb"The issue tracker URL used when replacing any matched issueIDRegexPattern found in the SCM commit messages. The default is URL is the codehaus JIRA URL. If %ISSUE% is found in the URL it is replaced with the matched issue ID, otherwise the matched issue ID is appended to the URL.", 3 );
                appendsb"", 0 );
                appendsb"outputEncoding (Default: ISO-8859-1)", 2 );
                appendsb"Output encoding for the xml document", 3 );
                appendsb"", 0 );
                appendsb"outputXML", 2 );
                appendsb"Output file for xml document", 3 );
                appendsb"", 0 );
                appendsb"outputXMLExpiration (Default: 60)", 2 );
                appendsb"Allows the user to make changelog regenerate the changelog.xml file for the specified time in minutes.", 3 );
                appendsb"", 0 );
                appendsb"passphrase", 2 );
                appendsb"The passphrase (used by java svn).", 3 );
                appendsb"", 0 );
                appendsb"password", 2 );
                appendsb"The user password (used by svn and starteam protocol).", 3 );
                appendsb"", 0 );
                appendsb"privateKey", 2 );
                appendsb"The private key (used by java svn).", 3 );
                appendsb"", 0 );
                appendsb"range (Default: -1)", 2 );
                appendsb"Used to specify the number of days of log entries to retrieve.", 3 );
                appendsb"", 0 );
                appendsb"scmUrl", 2 );
                appendsb"The URL to view the scm. Basis for external links from the generated report.", 3 );
                appendsb"", 0 );
                appendsb"systemProperties", 2 );
                appendsb"The system properties to use (needed by the perforce scm provider).", 3 );
                appendsb"", 0 );
                appendsb"tagBase", 2 );
                appendsb"The url of tags base directory (used by svn protocol).", 3 );
                appendsb"", 0 );
                appendsb"tags", 2 );
                appendsb"Used to specify the tag (or list of tags) to start log entries from.", 3 );
                appendsb"", 0 );
                appendsb"type (Default: range)", 2 );
                appendsb"Used to specify whether to build the log using range, tag or date.", 3 );
                appendsb"", 0 );
                appendsb"username", 2 );
                appendsb"The user name (used by svn and starteam protocol).", 3 );
                appendsb"", 0 );
            }
        }
        if (  == null || .length() <= 0 || "help".equals ) )
        {
            appendsb"changelog:help", 0 );
            appendsb"Display help information on maven-changelog-plugin.\nCall\n\u00a0\u00a0mvn\u00a0changelog:help\u00a0-Ddetail=true\u00a0-Dgoal=<goal-name>\nto display parameter details.", 1 );
            appendsb"", 0 );
            if (  )
            {
                appendsb"Available parameters:", 1 );
                appendsb"", 0 );
                appendsb"detail (Default: false)", 2 );
                appendsb"If true, display all settable properties for each goal.", 3 );
                appendsb"", 0 );
                appendsb"goal", 2 );
                appendsb"The name of the goal for which to show help. If unspecified, all goals will be displayed.", 3 );
                appendsb"", 0 );
                appendsb"indentSize (Default: 2)", 2 );
                appendsb"The number of spaces per indentation level, should be positive.", 3 );
                appendsb"", 0 );
                appendsb"lineLength (Default: 80)", 2 );
                appendsb"The maximum length of a display line, should be positive.", 3 );
                appendsb"", 0 );
            }
        }
        if ( getLog().isInfoEnabled() )
        {
            getLog().infosb.toString() );
        }
    }

    

Repeat a String n times to form a new string.

Parameters:
str String to repeat
repeat number of times to repeat str
Returns:
String with repeated String
Throws:
java.lang.NegativeArraySizeException if repeat < 0
java.lang.NullPointerException if str is null
    private static String repeatString strint repeat )
    {
        StringBuffer buffer = new StringBufferrepeat * str.length() );
        for ( int i = 0; i < repeati++ )
        {
            buffer.appendstr );
        }
        return buffer.toString();
    }

    
Append a description to the buffer by respecting the indentSize and lineLength parameters. Note: The last character is always a new line.

Parameters:
sb The buffer to append the description, not null.
description The description, not null.
indent The base indentation level of each line, must not be negative.
    private void appendStringBuffer sbString descriptionint indent )
    {
        for ( Iterator it = toLinesdescriptionindent ).iterator(); it.hasNext(); )
        {
            sb.appendit.next().toString() ).append'\n' );
        }
    }

    
Splits the specified text into lines of convenient display length.

Parameters:
text The text to split into lines, must not be null.
indent The base indentation level of each line, must not be negative.
indentSize The size of each indentation, must not be negative.
lineLength The length of the line, must not be negative.
Returns:
The sequence of display lines, never null.
Throws:
java.lang.NegativeArraySizeException if indent < 0
    private static List toLinesString textint indentint indentSizeint lineLength )
    {
        List lines = new ArrayList();
        String ind = repeat"\t"indent );
        String[] plainLines = text.split"(\r\n)|(\r)|(\n)" );
        for ( int i = 0; i < plainLines.lengthi++ )
        {
            toLineslinesind + plainLines[i], indentSizelineLength );
        }
        return lines;
    }

    
Adds the specified line to the output sequence, performing line wrapping if necessary.

Parameters:
lines The sequence of display lines, must not be null.
line The line to add, must not be null.
indentSize The size of each indentation, must not be negative.
lineLength The length of the line, must not be negative.
    private static void toLinesList linesString lineint indentSizeint lineLength )
    {
        int lineIndent = getIndentLevelline );
        StringBuffer buf = new StringBuffer( 256 );
        String[] tokens = line.split" +" );
        for ( int i = 0; i < tokens.lengthi++ )
        {
            String token = tokens[i];
            if ( i > 0 )
            {
                if ( buf.length() + token.length() >= lineLength )
                {
                    lines.addbuf.toString() );
                    buf.setLength( 0 );
                    buf.appendrepeat" "lineIndent * indentSize ) );
                }
                else
                {
                    buf.append' ' );
                }
            }
            for ( int j = 0; j < token.length(); j++ )
            {
                char c = token.charAtj );
                if ( c == '\t' )
                {
                    buf.appendrepeat" "indentSize - buf.length() % indentSize ) );
                }
                else if ( c == '\u00A0' )
                {
                    buf.append' ' );
                }
                else
                {
                    buf.appendc );
                }
            }
        }
        lines.addbuf.toString() );
    }

    
Gets the indentation level of the specified line.

Parameters:
line The line whose indentation level should be retrieved, must not be null.
Returns:
The indentation level of the line.
    private static int getIndentLevelString line )
    {
        int level = 0;
        for ( int i = 0; i < line.length() && line.charAti ) == '\t'i++ )
        {
            level++;
        }
        for ( int i = level + 1; i <= level + 4 && i < line.length(); i++ )
        {
            if ( line.charAti ) == '\t' )
            {
                level++;
                break;
            }
        }
        return level;
    }
New to GrepCode? Check out our FAQ X