使用cruisecontrol进行持续集成,我对Weblogic Ant任务有些烦恼,以及他们认为服务器调试信息是警告而不是调试,因此在我的构建报告电子邮件中显示。巡航的XML输出类似于:
<cruisecontrol>
<build>
<target name="compile-xxx">
<task name="xxx" />
</target>
<target name="xxx.weblogic">
<task name="wldeploy">
<message priority="warn">Message which isn't really a warning"</message>
</task>
</target>
</build>
</cruisecontrol>
在cruisecontrol XSL模板中,任务列表的当前选择是:
<xsl:variable name="tasklist" select="/cruisecontrol/build//target/task"/>
我想要的是以相同的方式选择任务列表,但不包括任何具有属性name =“* weblogic”的目标节点,其中*是通配符。我试过了
<xsl:variable name="tasklist" select="/cruisecontrol/build//target[@name!='*weblogic']/task"/>
但这似乎没有奏效。我不是XSLT的专家,只是想修复这个问题,这样我就可以继续进行项目的真正开发。非常感谢任何帮助。
答案 0 :(得分:2)
在cruisecontrol XSL模板中 任务列表的当前选择 是:
<xsl:variable name="tasklist" select="/cruisecontrol/build//target/task"/>
我想要的是什么 以相同的方式选择任务列表, 但不包括任何目标节点 哪个有属性 name =“* weblogic”,其中*是通配符
使用强>:
/cruisecontrol/build
//target
[not(substring(@name, string-length(@name)-7)
= 'weblogic'
)
]/task