提交 2a08aa1a 编写于 作者: J Jesse Glick

Ability for project-changes.jelly to handle multiple ChangeLogSet’s per build.

上级 e526809b
......@@ -91,6 +91,8 @@ import static java.util.logging.Level.WARNING;
import jenkins.model.lazy.BuildReference;
import jenkins.model.lazy.LazyBuildMixIn;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.DoNotUse;
/**
* Base implementation of {@link Run}s that build software.
......@@ -870,6 +872,12 @@ public abstract class AbstractBuild<P extends AbstractProject<P,R>,R extends Abs
return cs;
}
@Restricted(DoNotUse.class) // for project-changes.jelly
public List<ChangeLogSet<? extends ChangeLogSet.Entry>> getChangeSets() {
ChangeLogSet<? extends Entry> cs = getChangeSet();
return cs.isEmptySet() ? Collections.<ChangeLogSet<? extends ChangeLogSet.Entry>>emptyList() : Collections.<ChangeLogSet<? extends ChangeLogSet.Entry>>singletonList(cs);
}
/**
* Returns true if the changelog is already computed.
*/
......
......@@ -32,7 +32,7 @@ THE SOFTWARE.
<l:main-panel>
<j:set var="from" value="${request.getParameter('from')}"/>
<j:set var="to" value="${request.getParameter('to')}"/>
<j:set var="browser" value="${it.scm.effectiveBrowser}"/>
<j:set var="browser" value="${it.scm.effectiveBrowser}"/> <!-- for compatibility; newer project-changes.jelly override this -->
<h1>
${%Changes}
......
......@@ -41,13 +41,14 @@ THE SOFTWARE.
<j:otherwise>
<j:set var="hadChanges" value="${false}"/>
<j:forEach var="b" items="${builds}">
<j:if test="${b.changeSet.iterator().hasNext()}">
<j:forEach var="changeSet" items="${b.changeSets}">
<j:set var="browser" value="${changeSet.browser}"/>
<j:set var="hadChanges" value="${true}"/>
<h2><a href="${b.number}/changes">${b.displayName}
(<i:formatDate value="${b.timestamp.time}" type="both" dateStyle="medium" timeStyle="medium"/>)</a></h2>
<ol>
<j:forEach var="c" items="${b.changeSet.iterator()}" varStatus="loop">
<j:forEach var="c" items="${changeSet.iterator()}" varStatus="loop">
<li value="${c.revision.class.name == 'java.lang.Integer' ? c.revision : null}">
<j:out value="${c.msgAnnotated}"/>
......@@ -61,13 +62,14 @@ THE SOFTWARE.
<a href="${cslink}">${browser.descriptor.displayName}</a>
</j:when>
<j:otherwise>
<!-- TODO the anchor is meaningless if there is >1 ChangeLogSet/index.jelly for the build -->
<a href="${b.number}/changes#detail${loop.index}">${%detail}</a>
</j:otherwise>
</j:choose>
</li>
</j:forEach>
</ol>
</j:if>
</j:forEach>
</j:forEach>
<j:if test="${!hadChanges}">
${%No changes in any of the builds.}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册