我想编写一个 ant 宏,如果提供的属性包含特定字符串,它将调用失败任务。我知道如何在 ant 中进行字符串比较的唯一方法是使用 javascript。我有这样的东西:
<macrodef name="check-for-error">
<attribute name="input"/>
<sequential>
<echo message="@{input}"/>
<script language="javascript">
<![CDATA[
var response= "@{input}";
if(response.indexOf("FAIL") !=-1){
project.setProperty("error","true");
}
]]>
</script>
<fail message="INPUT FAILED" if="${error}"/>
</sequential>
</macrodef>
这种方法的问题是我在 javascript 中设置了一个全局属性,而 ant 不允许您重置属性。我知道 Ant 有能力设置本地属性。如何从 javascript 中访问本地属性?还是有更好的方法一起完成这一切?
最佳答案
<condition property="missing-properties">
<matches pattern="YOUR-PATTERN" string="${THE-ATTRIBUTE}"/>
</condition>
<fail message="Input failed!" if="missing-properties"/>
关于javascript - Ant:如果属性包含某个字符串,如何失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4799426/