| <%-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one |
| ~ or more contributor license agreements. See the NOTICE file |
| ~ distributed with this work for additional information |
| ~ regarding copyright ownership. The ASF licenses this file |
| ~ to you under the Apache License, Version 2.0 (the |
| ~ "License"); you may not use this file except in compliance |
| ~ with the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, |
| ~ software distributed under the License is distributed on an |
| ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~ KIND, either express or implied. See the License for the |
| ~ specific language governing permissions and limitations |
| ~ under the License. |
| --%> |
| |
| <%@ taglib uri="/struts-tags" prefix="s" %> |
| <%@ taglib uri="http://www.extremecomponents.org" prefix="ec" %> |
| <%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%> |
| <%@ taglib prefix="c1" uri="continuum" %> |
| <%@ taglib uri="http://plexus.codehaus.org/redback/taglib-1.0" prefix="redback" %> |
| |
| <html> |
| <s:i18n name="localization.Continuum"> |
| <head> |
| <title><s:text name="buildResult.page.title"/></title> |
| </head> |
| <body> |
| <div id="h3"> |
| |
| <jsp:include page="/WEB-INF/jsp/navigations/ProjectMenu.jsp"/> |
| |
| <h3> |
| <s:text name="buildResult.section.title"> |
| <s:param><s:property value="project.name"/></s:param> |
| </s:text> |
| </h3> |
| |
| <div class="axial"> |
| <table border="1" cellspacing="2" cellpadding="3" width="100%"> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.startTime'/>:</label></th> |
| <td><c1:date name="buildResult.startTime"/></td> |
| </tr> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.endTime'/>:</label></th> |
| <td><c1:date name="buildResult.endTime"/></td> |
| </tr> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.duration'/>:</label></th> |
| <td><s:if test="buildResult.endTime == 0"><s:text name="buildResult.startedSince"/></s:if> <s:property value="buildResult.durationTime"/></td> |
| </tr> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.trigger'/>:</label></th> |
| <td><s:text name="buildResult.trigger.%{buildResult.trigger}"/></td> |
| </tr> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.state'/>:</label></th> |
| <td>${state}</td> |
| </tr> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.buildNumber'/>:</label></th> |
| <td> |
| <s:if test="buildResult.buildNumber != 0"> |
| <s:property value="buildResult.buildNumber"/> |
| </s:if> |
| <s:else> |
| |
| </s:else> |
| </td> |
| </tr> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.username'/>:</label></th> |
| <td><s:property value="buildResult.username"/></td> |
| </tr> |
| <c:if test="${!empty buildResult.buildUrl}"> |
| <tr class="b"> |
| <th><label class="label"><s:text name='buildResult.buildUrl'/>:</label></th> |
| <td><s:property value="buildResult.buildUrl"/></td> |
| </tr> |
| </c:if> |
| </table> |
| </div> |
| <div class="functnbar3"> |
| <table> |
| <tbody> |
| <tr> |
| <td> |
| <redback:ifAuthorized permission="continuum-modify-group" resource="${projectGroupName}"> |
| <form action="removeBuildResult.action"> |
| <input type="hidden" name="projectId" value="<s:property value="projectId"/>"/> |
| <input type="hidden" name="buildId" value="<s:property value="buildId"/>"/> |
| <s:token/> |
| <s:if test="canDelete"> |
| <input type="submit" name="delete-project" value="<s:text name="delete"/>"/> |
| </s:if> |
| <s:else> |
| <input type="submit" disabled="true" name="delete-project" value="<s:text name="delete"/>"/> |
| </s:else> |
| </form> |
| </redback:ifAuthorized> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| <h4><s:text name="buildResult.scmResult.changes"/></h4> |
| <s:if test="buildResult.scmResult.changes != null && buildResult.scmResult.changes.size() > 0"> |
| <s:set name="changes" value="buildResult.scmResult.changes" scope="request"/> |
| <ec:table items="changes" |
| autoIncludeParameters="false" |
| var="change" |
| showExports="false" |
| showPagination="false" |
| showStatusBar="false" |
| sortable="false" |
| filterable="false"> |
| <ec:row> |
| <ec:column property="author" title="buildResult.scmResult.changes.author"/> |
| <ec:column property="date" title="buildResult.scmResult.changes.date" cell="date"/> |
| <ec:column property="comment" title="buildResult.scmResult.changes.comment" /> |
| <ec:column property="files" title="buildResult.scmResult.changes.files"> |
| <c:forEach var="scmFile" items="${pageScope.change.files}"> |
| <c:out value="${scmFile.name}"/><br /> |
| </c:forEach> |
| </ec:column> |
| </ec:row> |
| </ec:table> |
| </s:if> |
| <s:else> |
| <b><s:text name="buildResult.scmResult.noChanges"/></b> |
| </s:else> |
| |
| <s:if test="changesSinceLastSuccess != null && changesSinceLastSuccess.size() > 0"> |
| <h4><s:text name="buildResult.changesSinceLastSuccess"/></h4> |
| <s:set name="changes" value="changesSinceLastSuccess" scope="request"/> |
| <ec:table items="changes" |
| autoIncludeParameters="false" |
| var="change" |
| showExports="false" |
| showPagination="false" |
| showStatusBar="false" |
| sortable="false" |
| filterable="false"> |
| <ec:row> |
| <ec:column property="author" title="buildResult.changes.author"/> |
| <ec:column property="date" title="buildResult.changes.date" cell="date"/> |
| <ec:column property="comment" title="buildResult.changes.comment" /> |
| <ec:column property="files" title="buildResult.changes.files"> |
| <c:forEach var="scmFile" items="${pageScope.change.files}"> |
| <c:out value="${scmFile.name}"/><br /> |
| </c:forEach> |
| </ec:column> |
| </ec:row> |
| </ec:table> |
| </s:if> |
| |
| <h4><s:text name="buildResult.dependencies.changes"/></h4> |
| <s:if test="buildResult.modifiedDependencies != null && buildResult.modifiedDependencies.size() > 0"> |
| <s:set name="dependencies" value="buildResult.modifiedDependencies" scope="request"/> |
| <ec:table items="dependencies" |
| var="dep" |
| autoIncludeParameters="false" |
| showExports="false" |
| showPagination="false" |
| showStatusBar="false" |
| sortable="false" |
| filterable="false"> |
| <ec:row> |
| <ec:column property="groupId" title="buildResult.dependencies.groupId"/> |
| <ec:column property="artifactId" title="buildResult.dependencies.artifactId"/> |
| <ec:column property="version" title="buildResult.dependencies.version"/> |
| </ec:row> |
| </ec:table> |
| </s:if> |
| <s:else> |
| <b><s:text name="buildResult.dependencies.noChanges"/></b> |
| </s:else> |
| |
| <h4><s:text name="buildResult.buildDefinition"/></h4> |
| <table border="1" cellspacing="2" cellpadding="3" width="80%"> |
| <tbody> |
| <s:if test="buildResult.buildDefinition.type='ant'"> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.ant.label"/></th> |
| <td><s:property value="buildResult.buildDefinition.buildFile"/></td> |
| </tr> |
| </s:if> |
| <s:elseif test="buildResult.buildDefinition.type='shell'"> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.shell.label"/></th> |
| <td><s:property value="buildResult.buildDefinition.buildFile"/></td> |
| </tr> |
| </s:elseif> |
| <s:else> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.maven.label"/></th> |
| <td><s:property value="buildResult.buildDefinition.buildFile"/></td> |
| </tr> |
| </s:else> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.goals"/></th> |
| <td><s:property value="buildResult.buildDefinition.goals"/></td> |
| </tr> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.arguments"/></th> |
| <td><s:property value="buildResult.buildDefinition.arguments"/></td> |
| </tr> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.buildFresh"/></th> |
| <td><s:property value="buildResult.buildDefinition.buildFresh"/></td> |
| </tr> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.alwaysBuild"/></th> |
| <td><s:property value="buildResult.buildDefinition.alwaysBuild"/></td> |
| </tr> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.defaultForProject"/></th> |
| <td><s:property value="buildResult.buildDefinition.defaultForProject"/></td> |
| </tr> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.schedule"/></th> |
| <td><s:property value="buildResult.buildDefinition.schedule.name"/></td> |
| </tr> |
| <s:if test="buildResult.buildDefinition.profile != null"> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.profileName"/></th> |
| <td><s:property value="buildResult.buildDefinition.profile.name"/></td> |
| </tr> |
| </s:if> |
| <tr class="b"> |
| <th><s:text name="buildResult.buildDefinition.description"/></th> |
| <td><s:property value="buildResult.buildDefinition.description"/></td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <s:if test="hasSurefireResults"> |
| <h4><s:text name="buildResult.generatedReports.title"/></h4> |
| |
| <s:url id="surefireReportUrl" action="surefireReport"> |
| <s:param name="projectId" value="projectId"/> |
| <s:param name="buildId" value="buildId"/> |
| <s:param name="projectName" value="projectName"/> |
| </s:url> |
| <s:a href="%{surefireReportUrl}"><s:text name="buildResult.generatedReports.surefire"/></s:a> |
| </s:if> |
| |
| <s:if test="buildResult.state == 4"> |
| <h4><s:text name="buildResult.buildError"/></h4> |
| <div style="width:100%; height:500px; overflow:auto; border-style: solid; border-width: 1px"> |
| <pre><s:property value="buildResult.error"/></pre> |
| </div> |
| </s:if> |
| <s:else> |
| <h4><s:text name="buildResult.buildOutput"/></h4> |
| <p> |
| <s:if test="buildOutput == ''"> |
| <s:text name="buildResult.noOutput"/> |
| </s:if> |
| <s:else> |
| <s:url id="buildOutputTextUrl" action="buildOutputText"> |
| <s:param name="projectId" value="projectId"/> |
| <s:param name="buildId" value="buildId"/> |
| </s:url> |
| <s:a href="%{buildOutputTextUrl}"><s:text name="buildResult.buildOutput.text"/></s:a> |
| <div style="width:100%; height:500px; overflow:auto; border-style: solid; border-width: 1px"> |
| <pre><s:property value="buildOutput"/></pre> |
| </div> |
| </s:else> |
| </p> |
| </s:else> |
| </div> |
| </body> |
| </s:i18n> |
| </html> |