<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form" xmlns:i="jelly:fmt"> <j:choose> <j:when test="${it.emptySet}"> No changes from last build. </j:when> <j:otherwise> <b>Summary Of Changes</b> - <b><a href="changes">View Detail</a></b> <br/> <j:choose> <j:when test="${it.hasAddedChanges()}"> <b>New Changes:</b> <ol> <j:forEach var="c" items="${it.addedChanges}" varStatus="loop"> <div class="changeset-message" style="width: 650px; margin-bottom: 4px;"> <j:choose> <j:when test="${c.id == null}"> No connection to Perforce. </j:when> <j:otherwise> <img src="${rootURL}/plugin/p4/icons/changelist.gif" border="0" style="vertical-align: middle"/> <a href="changes#detail${loop.index}">${c.id}</a> by <a href="${rootURL}/${entry.author.url}/">${c.author}@${c.clientId}</a> on <i:formatDate value="${c.date}" type="both" dateStyle="medium" timeStyle="medium"/> <hr/> ${c.msgAnnotated} <br/> </j:otherwise> </j:choose> </div> </j:forEach> </ol> </j:when> </j:choose> <j:choose> <j:when test="${it.hasRemovedChanges()}"> <b>Removed Changes:</b> <ol> <j:forEach var="c" items="${it.removedChanges}" varStatus="loop"> <div class="changeset-message" style="width: 650px; margin-bottom: 4px;"> <j:choose> <j:when test="${c.id == null}"> No connection to Perforce. </j:when> <j:otherwise> <img src="${rootURL}/plugin/p4/icons/changelist.gif" border="0" style="vertical-align: middle"/> <a href="changes#detail${loop.index}">${c.id}</a> by <a href="${rootURL}/${entry.author.url}/">${c.author}@${c.clientId}</a> on <i:formatDate value="${c.date}" type="both" dateStyle="medium" timeStyle="medium"/> <hr/> ${c.msgAnnotated} <br/> </j:otherwise> </j:choose> </div> </j:forEach> </ol> </j:when> </j:choose> <j:choose> <j:when test="${it.hasStructureChanges()}"> <b>CBD Module Structure Changes:</b> <ul> <j:forEach var="c" items="${it.structureChanges}" varStatus="loop"> <p> <b>${c.depotpath}</b> <br/> <j:if test="${c.isnewmodule}"> New module <br/> </j:if> <j:if test="${c.isremovedmodule}"> Removed module <br/> </j:if> <j:if test="${c.codelinediffers}"> Codeline has changed <br/> </j:if> <j:if test="${c.wspathdiffers}"> Workspace path changed <br/> </j:if> <j:choose> <j:when test="${c.hasAddedSubdirs()}"> New subdirectories: ${c.addedSubdirs} <br/> </j:when> </j:choose> <j:choose> <j:when test="${c.hasRemovedSubdirs()}"> Removed subdirectories: ${c.removedSubdirs} <br/> </j:when> </j:choose> <j:choose> <j:when test="${c.hasAddedSubfiles()}"> New subfiles: ${c.addedSubfiles} <br/> </j:when> </j:choose> <j:choose> <j:when test="${c.hasRemovedSubfiles()}"> Removed subfiles: ${c.removedSubfiles} <br/> </j:when> </j:choose> </p> </j:forEach> </ul> </j:when> </j:choose> </j:otherwise> </j:choose> </j:jelly>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#4 | 19234 | dawn_foundry |
Changelogs will now be generated even if the "sync" stage fails. Changelog pages will also display details of which build was compared against to create the changelogs. |
||
#3 | 16582 | dawn_foundry | Adding support for subfile elements in the wschanges output. | ||
#2 | 15395 | dawn_foundry | Changelogs also need to display the added and removed module structure changes, which I appeared to have forgotten previously! | ||
#1 | 15235 | dawn_foundry |
Adding a new way to parse the CBD change logs from wschanges, so we can display all the details. Also added a function which creates a fake change log. Useful for testing the xml parsing. |