in src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java [1459:1505]
private void sinkIssueLink( Sink sink, String line, Pattern pattern )
{
// replace any ticket patterns found.
Matcher matcher = pattern.matcher( line );
int currLoc = 0;
while ( matcher.find() )
{
String match = matcher.group();
String link;
if ( issueLinkUrl.indexOf( ISSUE_TOKEN ) > 0 )
{
link = issueLinkUrl.replaceAll( ISSUE_TOKEN, match );
}
else
{
if ( issueLinkUrl.endsWith( "/" ) )
{
link = issueLinkUrl;
}
else
{
link = issueLinkUrl + '/';
}
link += match;
}
int startOfMatch = matcher.start();
String unmatchedText = line.substring( currLoc, startOfMatch );
currLoc = matcher.end();
sink.text( unmatchedText );
sink.link( link );
sink.text( match );
sink.link_();
}
sink.text( line.substring( currLoc ) );
}