package hudson.plugins.svnmerge; import hudson.Extension; import hudson.MarkupText; import hudson.model.AbstractBuild; import hudson.model.Fingerprint; import hudson.model.Run; import hudson.scm.ChangeLogAnnotator; import hudson.scm.ChangeLogSet.Entry; import org.kohsuke.stapler.Stapler; import java.io.IOException; /** * If a commit from {@link FeatureBranchProperty#integrate(TaskListener, String, long, String)} * is found, link back to the build page. * * @author Kohsuke Kawaguchi */ @Extension public class ChangeLogAnnotatorImpl extends ChangeLogAnnotator { public void annotate(AbstractBuild<?, ?> build, Entry change, MarkupText text) { try { Fingerprint f = IntegrateAction.getIntegrationFingerprint(change); if(f!=null) { Run r = f.getOriginal().getRun(); text.addMarkup( IntegrateAction.COMMIT_MESSAGE_PREFIX.length(), text.length()-IntegrateAction.COMMIT_MESSAGE_SUFFIX.length(), "<a href='"+ Stapler.getCurrentRequest().getContextPath()+"/"+r.getUrl() +"'>","</a>"); } } catch (IOException e) { // ignore } } }