com.github.danielflower.mavenplugins.gitlog.renderers.GitHubIssueLinkConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of maven-gitlog-plugin Show documentation
Show all versions of maven-gitlog-plugin Show documentation
Generates a changelog based on commits to a git repository in text and HTML format showing the changes
that are included in each version. A possible use of this is to include these changelogs when packaging your
maven project so that you have an accurate list of commits that the current package includes.
package com.github.danielflower.mavenplugins.gitlog.renderers;
import org.apache.maven.plugin.logging.Log;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GitHubIssueLinkConverter implements MessageConverter {
private Pattern pattern;
private final Log log;
private final String urlPrefix;
public GitHubIssueLinkConverter(Log log, String urlPrefix) {
this.log = log;
this.urlPrefix = urlPrefix.endsWith("/") ? urlPrefix : urlPrefix + "/";
this.pattern = Pattern.compile("(GH-|#)([0-9]+)", Pattern.CASE_INSENSITIVE);
}
@Override
public String formatCommitMessage(String original) {
try {
Matcher matcher = pattern.matcher(original);
String result = matcher.replaceAll("$0");
return result;
} catch (Exception e) {
// log, but don't let this small setback fail the build
log.info("Unable to parse issue tracking URL in commit message: " + original, e);
}
return original;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy