Mark 的回答对我来说听起来不错,并且可能对不使用 Cruise Control 持续构建系统的任何人都有效。但是,我发现对于任何(像我一样)使用该系统的人来说,还有另一种方法。
Cruise control 通过使用多个 XSLT 样式表来组装它的报告。在我们的例子中,这些样式表位于:
~/applications/cruisecontrol-bin-2.7.3/webapps/cruisecontrol/xsl
但由于我没有设置我们的安装,我不知道这是否是标准路径。无论如何,您应该能够在安装中找到等效目录。在该目录中是一个名为errors.xsl 的文件。要消除警告,您需要对该文件进行两项更改,这两项更改都涉及注释掉现有规则。
代替:
<xsl:variable name="total.errorMessage.count" select="count($warn.messages) + count($error.messages)"/>
和:
<!-- <xsl:variable name="total.errorMessage.count" select="count($warn.messages) + count($error.messages)"/>-->
<xsl:variable name="total.errorMessage.count" select="count($error.messages)"/>
这将使“错误计数”成为实际错误的计数,而不是错误+警告的计数。
然后,替换:
<xsl:template match="message[@priority='warn']" mode="errors">
<xsl:if test="not(starts-with(text(),'cvs update'))">
<xsl:value-of select="text()"/><br class="none"/>
</xsl:if>
</xsl:template>
和:
<!--<xsl:template match="message[@priority='warn']" mode="errors">
<xsl:if test="not(starts-with(text(),'cvs update'))">
<xsl:value-of select="text()"/><br class="none"/>
</xsl:if>
</xsl:template>-->
这将隐藏实际的警告本身。或者,您总是可以只删除注释掉的代码,但是您应该首先备份文件,以防您想要恢复您的警告。此外,XSLT 忽略任何非 XSLT 标记,因此除了完全消除警告之外,您还可以对警告执行其他操作:例如,您可以将所有警告包装在 DIV 中,然后使用 CSS/Javascript 来“折叠”警告而不是完全删除它们。
虽然我最终不得不自己发现这个解决方案,但这里的所有答案都帮助我理解了发生了什么,所以感谢大家的帮助。