2

使用 Cruisecontrol 进行持续集成,我对 Weblogic Ant 任务有一些烦恼,他们认为服务器调试信息是警告而不是调试,所以在我的构建报告电子邮件中显示。Cruise 的 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 专家,只是想解决这个问题,以便我可以继续进行项目的实际开发。任何帮助深表感谢。

4

1 回答 1

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
于 2010-05-08T17:30:31.780 回答