我的构建脚本创建4个不同的Build
名称STP_13_00_00_00_RC01
STPMON_13_00_00_00_RC01
STPWEB_13_00_00_00_RC01
STPPRODUCTS_13_00_00_00_RC01
所以我想当脚本创建名为**STP_13_00_00_00_RC01**
的构建时,它应该创建文件夹然后复制该文件夹中的tar文件,之后它应该再创建一个文件夹,而如果构建名称以其他名称开头STPMON,STPWEB.STPPRODUCTS然后它应该只创建文件夹并复制该文件夹中的tar文件所以我使用下面的condidtion.But所有构建它进入否则条件要么使用STP创建构建
</xsl:element>
<xsl:element name="gzip">
<xsl:attribute name="destfile"
>${archive.base}/${gbl.dist.label}.tar.gz</xsl:attribute>
<xsl:attribute name="src"
>${archive.base}/${gbl.dist.label}.tar</xsl:attribute>
</xsl:element>
<xsl:choose>
<xsl:when test="contains(node,'STP')">
<xsl:element name="mkdir">
<xsl:attribute name="dir"
>/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${gbl.dist.label}</xsl:attribute>
</xsl:element>
<xsl:element name="copy">
<xsl:attribute name="file">${archive.base}/${gbl.dist.label}.tar.gz</xsl:attribute>
<xsl:attribute name="todir"
>/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${gbl.dist.label}/</xsl:attribute>
<xsl:attribute name="overwrite">no</xsl:attribute>
</xsl:element>
<xsl:element name="mkdir">
<xsl:attribute name="dir"
>/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${soa.release.version}</xsl:attribute>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element name="mkdir">
<xsl:attribute name="dir"
>/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${gbl.dist.label}_Test</xsl:attribute>
</xsl:element>
<xsl:element name="copy">
<xsl:attribute name="file"
>${archive.base}/${gbl.dist.label}.tar.gz</xsl:attribute>
<xsl:attribute name="todir"
>/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${gbl.dist.label}_Test/</xsl:attribute>
<xsl:attribute name="overwrite">no</xsl:attribute>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
答案 0 :(得分:0)
您的选择指令分支条件
contains(node,'STP')
这至少有一个问题,可能有两个问题。
您对问题的描述表明您希望对名为STP_13_00_00_00_RC01
的构建采取一种方式,对于名称以STPMON
,STPWEB
或{{1 }}。但是所有这些构建名称都包含字符串'STP',因此您的测试条件无法区分它们。换句话说,你的代码不会做你想要的,因为你没有说出你的意思。
你说测试永远不会成功(样式表总是采用STPPRODUCTS
分支)。这表明表达式otherwise
不会评估您似乎期望的字符串,也不会评估可能被强制转换为您期望的字符串的文档节点。可能的原因包括:
node
的元素。node
的元素,但它不是引用代码的模板的上下文节点的子元素。node
的元素,它是上下文节点的子元素,但其字符串值不是构建的名称。任何这些都是可能的,但如果我不得不猜测,我猜它是第一个。