将构建结果标记为失败或成功



我想在文件存在时将构建标记为成功(当我标记时)或在文件不存在时失败(当我标记var name="build-result" value=" failed "/>)。我想在阅读构建结果或使用"构建"后更新构建状态。"状态",我正在根据构建结果更新为

<var name="build-result" value="SUCCEEDED" />
                <echo message="Sending mail status- ${build-result}"/>
                <propertyfile file="${build-status.file}">
                        <entry key="build.status" value="${build-result}" />
                </propertyfile>

目前我正在做的是:

       <isset variable="build-result" value="FAILED" />
   </condition>
 </fail>

但是给出的消息是:BUILD FAILEDD:projectsSelfAntExamplebuild.xml:51: isset不支持"variable"属性我想要的应该是"构建失败,因为文件不存在"

始终参考联机文档。<isset>取参数property,不取参数variable。Ant没有变量的概念——只有属性。<var/>任务所做的是,它允许您在设置属性后更改属性。除非在极少数情况下,否则不应该使用<var>。正如<var>任务页面上所说:一般来说,不鼓励使用这个任务,如果可能的话,应该使用标准的Ant属性。

事实上,现在您在标准Ant任务列表中有了<local/>,我发现您不再真正需要<var/>

如果您想在文件不存在的情况下使构建失败,请查看<available>测试:

<fail message="This build is an utter and complete failure".>
    <condition>
        <not>
            <available file="${result.file}" type="file"/>
        </not>
    </condition>
</fail>
<echo message="This build is a smashing success! We're so proud!"/>

如果没有找到文件${result.file},则执行<fail>任务。否则,<echo>消息将打印。

<isset>只接受一个属性- property,并检查指定的属性是否已设置(即已提供值,包括null)

参见此处查看<isset>

可以使用<equals>来比较两个参数的值:

<equals arg1="${build-result}" arg2="FAILED">

参见此处查看<equals>

正如你所提到的:I want to mark the build as successful when the file exist你可能还想看看<available>任务,
<available property="result" file="your_file_location" />

参见此处查看<available>

相关内容

  • 没有找到相关文章

最新更新