org.nuiton.jredmine.plugin.report.HelpMojo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of maven-jredmine-plugin Show documentation
Show all versions of maven-jredmine-plugin Show documentation
JRedmine maven plugin to interacts with Redmine's server
package org.nuiton.jredmine.plugin.report;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
/**
* Display help information on maven-jredmine-plugin.
Call mvn jredmine:help -Ddetail=true -Dgoal=<goal-name>
to display parameter details.
*
* @version generated on Sat Oct 09 01:29:59 CEST 2010
* @author org.apache.maven.tools.plugin.generator.PluginHelpGenerator (version 2.5.1)
* @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;
/** {@inheritDoc} */
public void execute()
throws MojoExecutionException
{
if ( lineLength <= 0 )
{
getLog().warn( "The parameter 'lineLength' should be positive, using '80' as default." );
lineLength = 80;
}
if ( indentSize <= 0 )
{
getLog().warn( "The parameter 'indentSize' should be positive, using '2' as default." );
indentSize = 2;
}
StringBuffer sb = new StringBuffer();
append( sb, "org.nuiton.jredmine:maven-jredmine-plugin:1.1.4", 0 );
append( sb, "", 0 );
append( sb, "JRedmine :: Maven plugin", 0 );
append( sb, "JRedmine maven plugin to interacts with Redmine\'s server", 1 );
append( sb, "", 0 );
if ( goal == null || goal.length() <= 0 )
{
append( sb, "This plugin has 18 goals:", 0 );
append( sb, "", 0 );
}
if ( goal == null || goal.length() <= 0 || "display-data".equals( goal ) )
{
append( sb, "jredmine:display-data", 0 );
append( sb, "Display in console some data from redmine\'s server.\nThis goals requires no authentication to the server.\n", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "sortById (Default: true)", 2 );
append( sb, "A flag to sort of not retrived data by id.", 3 );
append( sb, "", 0 );
append( sb, "types", 2 );
append( sb, "The data types to display : issueSatus, issuePriority, issueCategory, tracker and user.\nissueStatus and issuePriority are common for all projects, so for those datas, no extrat configuration is required.\n\nisseCategoriy, tracker and user are project specific, so you have to fill also the projectId parameter to obtain data for those types.\n\nNote : you can specifiy several types separated by comma\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "generate-changes".equals( goal ) )
{
append( sb, "jredmine:generate-changes", 0 );
append( sb, "Generates the changes.xml file from the Redmine\'s server to be used by the maven-changes-plugin to generates the release report and send the annoncement mail at a release time.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "actionMapping", 2 );
append( sb, "The action mapping to the redmine tracker ids.\nPossible actions are add, fix, update, remove\n\nThe syntax of mapping is action:id [,action:id]*\n\nExample :\n\n\n\u00a0fix:1\n\u00a0fix:1,\u00a0add:1\n", 3 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "categoryIds", 2 );
append( sb, "The comma separated list of category ids to include in the changes.xml\nNote : If a value is set to empty - that means to include all categories.\n\n", 3 );
append( sb, "", 0 );
append( sb, "changesTitle (Default: ${project.description})", 2 );
append( sb, "The changes file title.", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "generateOnce (Default: true)", 2 );
append( sb, "A flag to generate only once in a multi-module project. The changes.xml file will be generated only once in the pom module and then copy in the modules.\nThe default behaviour is to generate once to reduce calls to redmine\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersion (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "releaseDescription", 2 );
append( sb, "The description of the release.\nNote : if not sets - will use the redmine version description (if exists).\n", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipGenerateChanges (Default: false)", 2 );
append( sb, "A flag to skip the goal.", 3 );
append( sb, "", 0 );
append( sb, "statusIds", 2 );
append( sb, "The comma separated list of statuses ids to include in the changes.xml\nNote : If a value is set to empty - that means to include all status.\n\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "xmlPath (Default: ${basedir}/src/changes/changes.xml)", 2 );
append( sb, "The path of the changes.xml file that will be converted into an HTML report.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "generate-email-announcement".equals( goal ) )
{
append( sb, "jredmine:generate-email-announcement", 0 );
append( sb, "Generate the content of the release email announcement.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "announceParameters", 2 );
append( sb, "Map which will be pass to the velocity context", 3 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "artifactsFile", 2 );
append( sb, "(no description available)", 3 );
append( sb, "", 0 );
append( sb, "attachmentLinkTemplate (Default: %URL%/attachments/download/%FILE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an attchment. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %FILE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "basedir", 2 );
append( sb, "The current project base directory.", 3 );
append( sb, "", 0 );
append( sb, "developmentTeam (Default: ${project.name} team)", 2 );
append( sb, "Name of the team that develops the artifact.", 3 );
append( sb, "", 0 );
append( sb, "emailAnnouncementTemplate (Default: release-email-announcement.vm)", 2 );
append( sb, "The Velocity template used to format the release email announcement.", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "finalName (Default: ${project.build.finalName})", 2 );
append( sb, "The name of the artifact to be used in the announcement.", 3 );
append( sb, "", 0 );
append( sb, "introduction (Default: ${project.description})", 2 );
append( sb, "Short description or introduction of the released artifact.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "projectUrl (Default: ${project.url})", 2 );
append( sb, "Distribution url of the artifact.", 3 );
append( sb, "", 0 );
append( sb, "runOnce (Default: true)", 2 );
append( sb, "A flag to restirct only one run in a build (for multi-module context).", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipGenerateEmailAnnouncement (Default: false)", 2 );
append( sb, "A flag to enable or disable the goal.", 3 );
append( sb, "", 0 );
append( sb, "templateDirectory (Default: org/nuiton/jredmine/plugin/announcement)", 2 );
append( sb, "Directory that contains the template.\nNote: This directory must be a subdirectory of /src/main/resources/ or current project base directory.\n", 3 );
append( sb, "", 0 );
append( sb, "templateEncoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The template encoding.", 3 );
append( sb, "", 0 );
append( sb, "templateOutputDirectory (Default: ${project.build.directory}/generated-sources/announcement)", 2 );
append( sb, "Directory where the template file will be generated.", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "urlDownload", 2 );
append( sb, "URL where the artifact can be downloaded. If not specified, no URL is used.", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "xmlPath (Default: ${basedir}/src/changes/changes.xml)", 2 );
append( sb, "The path of the changes.xml file.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "generate-news-announcement".equals( goal ) )
{
append( sb, "jredmine:generate-news-announcement", 0 );
append( sb, "Generate the content of the release announcement news for Redmine.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "announceParameters", 2 );
append( sb, "Map which will be pass to the velocity context", 3 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "artifactsFile", 2 );
append( sb, "(no description available)", 3 );
append( sb, "", 0 );
append( sb, "attachmentLinkTemplate (Default: %URL%/attachments/download/%FILE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an attchment. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %FILE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "basedir", 2 );
append( sb, "The current project base directory.", 3 );
append( sb, "", 0 );
append( sb, "developmentTeam (Default: ${project.name} team)", 2 );
append( sb, "Name of the team that develops the artifact.", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "finalName (Default: ${project.build.finalName})", 2 );
append( sb, "The name of the artifact to be used in the announcement.", 3 );
append( sb, "", 0 );
append( sb, "introduction (Default: ${project.description})", 2 );
append( sb, "Short description or introduction of the released artifact.", 3 );
append( sb, "", 0 );
append( sb, "newsAnnouncementTemplate (Default: release-news-announcement.vm)", 2 );
append( sb, "The Velocity template used to format the redmine announcement.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "projectUrl (Default: ${project.url})", 2 );
append( sb, "Distribution url of the artifact.", 3 );
append( sb, "", 0 );
append( sb, "runOnce (Default: true)", 2 );
append( sb, "A flag to restirct only one run in a build (for multi-module context).", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipGenerateNewsAnnouncement (Default: false)", 2 );
append( sb, "A flag to enable or disable the goal.", 3 );
append( sb, "", 0 );
append( sb, "templateDirectory (Default: org/nuiton/jredmine/plugin/announcement)", 2 );
append( sb, "Directory that contains the template.\nNote: This directory must be a subdirectory of /src/main/resources/ or current project base directory.\n", 3 );
append( sb, "", 0 );
append( sb, "templateEncoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The template encoding.", 3 );
append( sb, "", 0 );
append( sb, "templateOutputDirectory (Default: ${project.build.directory}/generated-sources/announcement)", 2 );
append( sb, "Directory where the template file will be generated.", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "urlDownload", 2 );
append( sb, "URL where the artifact can be downloaded. If not specified, no URL is used.", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "xmlPath (Default: ${basedir}/src/changes/changes.xml)", 2 );
append( sb, "The path of the changes.xml file.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "help".equals( goal ) )
{
append( sb, "jredmine:help", 0 );
append( sb, "Display help information on maven-jredmine-plugin.\nCall\n\u00a0\u00a0mvn\u00a0jredmine:help\u00a0-Ddetail=true\u00a0-Dgoal=\nto display parameter details.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "detail (Default: false)", 2 );
append( sb, "If true, display all settable properties for each goal.", 3 );
append( sb, "", 0 );
append( sb, "goal", 2 );
append( sb, "The name of the goal for which to show help. If unspecified, all goals will be displayed.", 3 );
append( sb, "", 0 );
append( sb, "indentSize (Default: 2)", 2 );
append( sb, "The number of spaces per indentation level, should be positive.", 3 );
append( sb, "", 0 );
append( sb, "lineLength (Default: 80)", 2 );
append( sb, "The maximum length of a display line, should be positive.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report".equals( goal ) )
{
append( sb, "jredmine:issues-report", 0 );
append( sb, "Generates a report for issues from Redmine\'s server", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNames (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filters", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-ids\u00a0-Dtype=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntries (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersion (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReport (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report-by-assignee".equals( goal ) )
{
append( sb, "jredmine:issues-report-by-assignee", 0 );
append( sb, "Generates a report for issues from Redmine\'s server group by assignee.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNamesByAssignee (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filtersByAssignee", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-ids\u00a0-Dtype=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntriesByAssignee (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersionByAssignee (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReportByAssignee (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report-by-category".equals( goal ) )
{
append( sb, "jredmine:issues-report-by-category", 0 );
append( sb, "Generates a report for issues from Redmine\'s server group by category.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNamesByCategory (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filtersByCategory", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-data\u00a0-Dtypes=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntriesByCategory (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersionByCategory (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReportByCategory (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report-by-priority".equals( goal ) )
{
append( sb, "jredmine:issues-report-by-priority", 0 );
append( sb, "Generates a report for issues from Redmine\'s server group by priority.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNamesByPriority (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filtersByPriority", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-ids\u00a0-Dtype=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntriesByPriority (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersionByPriority (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReport (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report-by-reporter".equals( goal ) )
{
append( sb, "jredmine:issues-report-by-reporter", 0 );
append( sb, "Generates a report for issues from Redmine\'s server group by reporter.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNamesByReporter (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filtersByReporter", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-ids\u00a0-Dtype=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntriesByReporter (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersionByReporter (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReportByReporter (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report-by-status".equals( goal ) )
{
append( sb, "jredmine:issues-report-by-status", 0 );
append( sb, "Generates a report for issues from Redmine\'s server group by status.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNamesByStatus (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filtersByStatus", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-ids\u00a0-Dtype=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntriesByStatus (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersionByStatus (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReportByStatus (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report-by-tracker".equals( goal ) )
{
append( sb, "jredmine:issues-report-by-tracker", 0 );
append( sb, "Generates a report for issues from Redmine\'s server group by tracker.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNamesByTracker (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filtersByTracker", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-ids\u00a0-Dtype=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntriesByTracker (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersionByTracker (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReportByTracker (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "issues-report-by-version".equals( goal ) )
{
append( sb, "jredmine:issues-report-by-version", 0 );
append( sb, "Generates a report for issues from Redmine\'s server group by version.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: true)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nFor this goal, the default value is true\n\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "columnNamesByVersion (Default: Tracker,Category,Key,Summary,Status,Assignee,Version)", 2 );
append( sb, "Sets the column names that you want to show in the report. The columns will appear in the report in the same order as you specify them here. Multiple values can be separated by commas.\nValid columns are: Key, Summary, Status, Assignee, Reporter, Tracker, Priority, Version, Category, Created and Updated.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "filtersByVersion", 2 );
append( sb, "Sets some filters on issues to include. the possible keys are :\n-\tversion : to restrict on version fixed\n-\tstatus : to restrict on some status\n-\tpriority : to restrict on some priorties\n-\tcategory : to restrict on some categories\n-\ttracker : to restrict on some tracker (says type of issues)\n\nValues are Redmine\'s internal ids (except for the version entry which use Redmine\'s version names).\n\nMultiple values can be separated by commas.\n\n\nNote : If a value is set to empty - that means to not filter on that property.\n\n\nTo see the internal ids, use the command :\n\nmvn\u00a0redmine:display-ids\u00a0-Dtype=\n", 3 );
append( sb, "", 0 );
append( sb, "issueLinkTemplate (Default: %URL%/issues/show/%ISSUE%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %ISSUE%: this is the issue number.\n", 3 );
append( sb, "", 0 );
append( sb, "maxEntriesByVersion (Default: 100)", 2 );
append( sb, "Maximum number of entries to be fetched from redmine.\nNote: use value 0 to have no limits\n", 3 );
append( sb, "", 0 );
append( sb, "onlyCurrentVersionByVersion (Default: false)", 2 );
append( sb, "If you only want to show issues for the current version in the report. The current version being used is ${project.version} minus any \'-SNAPSHOT\' suffix.", 3 );
append( sb, "", 0 );
append( sb, "outputDirectory (Default: ${project.reporting.outputDirectory})", 2 );
append( sb, "Report output directory. Note that this parameter is only relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipIssueReportByVersion (Default: false)", 2 );
append( sb, "A flag to skip the report.\nThis can be usefull since there is no way to skip a report from an inherited reportSet configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
append( sb, "versionLinkTemplate (Default: %URL%/versions/show/%VERSION%)", 2 );
append( sb, "Template strings per system that is used to discover the URL to use to display an issue report. Each key in this map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template.\nThere are 2 template tokens you can use. %URL%: this is computed by getting the / value from the POM, and removing the last \'/\' and everything that comes after it. %VERSION%: this is the issue number.\n", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "login".equals( goal ) )
{
append( sb, "jredmine:login", 0 );
append( sb, "Obtain login for the redmine server to use.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "checkLogin (Default: false)", 2 );
append( sb, "Un flag pour verifier le login (effectue une connexion au serveur).", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "serverId", 2 );
append( sb, "Redmine server id to obtain login and password.\nThe server must be defined in your settings.xml file in servers section.\n", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "next-version".equals( goal ) )
{
append( sb, "jredmine:next-version", 0 );
append( sb, "Prepare the next version to be used.\n\nIf a previous version is given, then move all unclosed issues from the previous version to the new one.\n", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: false)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "dryRun (Default: false)", 2 );
append( sb, "A flag to test plugin but send nothing to redmine.", 3 );
append( sb, "", 0 );
append( sb, "effectiveDate", 2 );
append( sb, "The effective date to set on the version.\nThe format of the date is yyyy-mm-dd.\n\nIf not Set - will use current day date. flag is on.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "previousVersionName", 2 );
append( sb, "The name of a previous version.\nIf not Set - will not move any issues to the new version.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "runOnce (Default: true)", 2 );
append( sb, "A flag to restirct only one run in a build (for multi-module context).", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipNextVersion (Default: false)", 2 );
append( sb, "A flag to skip the goal.", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionDescription", 2 );
append( sb, "The news description to update to redmine server.\nNote : if not set, no update of the description will be made.\n", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "publish-attachments".equals( goal ) )
{
append( sb, "jredmine:publish-attachments", 0 );
append( sb, "Publish files for a given project and version on redmine server.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: false)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "dryRun (Default: false)", 2 );
append( sb, "A flag to test plugin but send nothing to redmine.", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "files", 2 );
append( sb, "A list of files to deploy.\nIf no Set - will not use this source\n", 3 );
append( sb, "", 0 );
append( sb, "filesFromProperties", 2 );
append( sb, "The path of a properties files where files to deploy are descriped.\nThe key of a property is the sortor key\n\nThe value of a property is the path of the file to upload.\n\nIf no Set - will not use this source\n", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "runOnce (Default: true)", 2 );
append( sb, "A flag to restirct only one run in a build (for multi-module context).", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipPublishAttachments (Default: false)", 2 );
append( sb, "A flag to skip the goal.", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "publish-news".equals( goal ) )
{
append( sb, "jredmine:publish-news", 0 );
append( sb, "Publish a news on redmine server.", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: false)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "dryRun (Default: false)", 2 );
append( sb, "A flag to test plugin but send nothing to redmine.", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "newsContentFile", 2 );
append( sb, "The content file of the news.", 3 );
append( sb, "", 0 );
append( sb, "newsSummary", 2 );
append( sb, "Short description or introduction of the released artifact.", 3 );
append( sb, "", 0 );
append( sb, "newsTitle", 2 );
append( sb, "The title of the news to create on redmine server.\nNote : the size can not be more than 60 caracters (due to a redmine limitation).\n", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "runOnce (Default: true)", 2 );
append( sb, "A flag to restirct only one run in a build (for multi-module context).", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipPublishNews (Default: false)", 2 );
append( sb, "A flag to skip the goal.", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
}
}
if ( goal == null || goal.length() <= 0 || "update-version".equals( goal ) )
{
append( sb, "jredmine:update-version", 0 );
append( sb, "Create or update a version on redmine server.\nWill add a the version if not existing, otherwise, will update the version.\n", 1 );
append( sb, "", 0 );
if ( detail )
{
append( sb, "Available parameters:", 1 );
append( sb, "", 0 );
append( sb, "anonymous (Default: false)", 2 );
append( sb, "Flag to know if anonym\u00f9ous connexion to redmine server is required.\nNote: If set to false, you should fill username and password properties.\n", 3 );
append( sb, "", 0 );
append( sb, "closeVersion (Default: false)", 2 );
append( sb, "A flag to close the version on redmine (will fix effectiveDate).", 3 );
append( sb, "", 0 );
append( sb, "dryRun (Default: false)", 2 );
append( sb, "A flag to test plugin but send nothing to redmine.", 3 );
append( sb, "", 0 );
append( sb, "effectiveDate", 2 );
append( sb, "The effective date to set on the version.\nThe format of the date is yyyy-mm-dd.\n\nIf not Set - will use current day date only if closeVersion flag is on.\n", 3 );
append( sb, "", 0 );
append( sb, "encoding (Default: ${project.build.sourceEncoding})", 2 );
append( sb, "The encoding used to read and write files.\nNote: If nothing is filled here, we will use the system property file.encoding.\n", 3 );
append( sb, "", 0 );
append( sb, "password", 2 );
append( sb, "The redmine\'s server password.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "projectId (Default: ${project.artifactId})", 2 );
append( sb, "Redmine project name.", 3 );
append( sb, "", 0 );
append( sb, "runOnce (Default: true)", 2 );
append( sb, "A flag to restirct only one run in a build (for multi-module context).", 3 );
append( sb, "", 0 );
append( sb, "safe (Default: true)", 2 );
append( sb, "Un flag pour faire \u00e9chouer le build si la configuration n\'est pas ok.", 3 );
append( sb, "", 0 );
append( sb, "skipUpdateVersion (Default: false)", 2 );
append( sb, "A flag to skip the goal.", 3 );
append( sb, "", 0 );
append( sb, "url", 2 );
append( sb, "The real basedir redmine url.\nIf no url is given, will use the issue management url.\n", 3 );
append( sb, "", 0 );
append( sb, "username", 2 );
append( sb, "The redmine\'s server login.\nNote: : this parameter is mandatory if you not use a anonymous service. configuration.\n", 3 );
append( sb, "", 0 );
append( sb, "verbose (Default: ${maven.verbose})", 2 );
append( sb, "Un flag pour activer le mode verbeux.", 3 );
append( sb, "", 0 );
append( sb, "versionDescription", 2 );
append( sb, "The news description to update to redmine server.\nNote : if not set, no update of the description will be made.\n", 3 );
append( sb, "", 0 );
append( sb, "versionId (Default: ${project.version})", 2 );
append( sb, "redmine version name.", 3 );
append( sb, "", 0 );
}
}
if ( getLog().isInfoEnabled() )
{
getLog().info( sb.toString() );
}
}
/**
* Repeat a String n
times to form a new string.
*
* @param str String to repeat
* @param repeat number of times to repeat str
* @return String with repeated String
* @throws NegativeArraySizeException if repeat < 0
* @throws NullPointerException if str is null
*/
private static String repeat( String str, int repeat )
{
StringBuffer buffer = new StringBuffer( repeat * str.length() );
for ( int i = 0; i < repeat; i++ )
{
buffer.append( str );
}
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.
*
* @param sb The buffer to append the description, not null
.
* @param description The description, not null
.
* @param indent The base indentation level of each line, must not be negative.
*/
private void append( StringBuffer sb, String description, int indent )
{
for ( Iterator it = toLines( description, indent, indentSize, lineLength ).iterator(); it.hasNext(); )
{
sb.append( it.next().toString() ).append( '\n' );
}
}
/**
* Splits the specified text into lines of convenient display length.
*
* @param text The text to split into lines, must not be null
.
* @param indent The base indentation level of each line, must not be negative.
* @param indentSize The size of each indentation, must not be negative.
* @param lineLength The length of the line, must not be negative.
* @return The sequence of display lines, never null
.
* @throws NegativeArraySizeException if indent < 0
*/
private static List toLines( String text, int indent, int indentSize, int lineLength )
{
List lines = new ArrayList();
String ind = repeat( "\t", indent );
String[] plainLines = text.split( "(\r\n)|(\r)|(\n)" );
for ( int i = 0; i < plainLines.length; i++ )
{
toLines( lines, ind + plainLines[i], indentSize, lineLength );
}
return lines;
}
/**
* Adds the specified line to the output sequence, performing line wrapping if necessary.
*
* @param lines The sequence of display lines, must not be null
.
* @param line The line to add, must not be null
.
* @param indentSize The size of each indentation, must not be negative.
* @param lineLength The length of the line, must not be negative.
*/
private static void toLines( List lines, String line, int indentSize, int lineLength )
{
int lineIndent = getIndentLevel( line );
StringBuffer buf = new StringBuffer( 256 );
String[] tokens = line.split( " +" );
for ( int i = 0; i < tokens.length; i++ )
{
String token = tokens[i];
if ( i > 0 )
{
if ( buf.length() + token.length() >= lineLength )
{
lines.add( buf.toString() );
buf.setLength( 0 );
buf.append( repeat( " ", lineIndent * indentSize ) );
}
else
{
buf.append( ' ' );
}
}
for ( int j = 0; j < token.length(); j++ )
{
char c = token.charAt( j );
if ( c == '\t' )
{
buf.append( repeat( " ", indentSize - buf.length() % indentSize ) );
}
else if ( c == '\u00A0' )
{
buf.append( ' ' );
}
else
{
buf.append( c );
}
}
}
lines.add( buf.toString() );
}
/**
* Gets the indentation level of the specified line.
*
* @param line The line whose indentation level should be retrieved, must not be null
.
* @return The indentation level of the line.
*/
private static int getIndentLevel( String line )
{
int level = 0;
for ( int i = 0; i < line.length() && line.charAt( i ) == '\t'; i++ )
{
level++;
}
for ( int i = level + 1; i <= level + 4 && i < line.length(); i++ )
{
if ( line.charAt( i ) == '\t' )
{
level++;
break;
}
}
return level;
}
}