javascript - Ant:如果属性包含某个字符串,如何失败

标签 javascript ant

我想编写一个 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/

相关文章:

java - 如何使用 Apache ivy 解决多个文件的依赖关系?

java - Apache Ant——使用命令行参数作为目标

javascript - 使用each()循环div

javascript - 如何在 javascript 或 Jquery 中获取父 div 中子子项的数量?

javascript - 如何使用 javascript/jquery 以编程方式单击第一个 li 元素?

java - Java 1.6 的 Ant Java 任务

java - 如何将 .jar 依赖项包含到生成应用程序的最终 .jar 文件的 ANT 目标中?

javascript - React JS 中的 Angular JS ng-repeat 过滤器替代方案

javascript - 如何在node.js + ajax中向用户发送自定义错误消息

java - 如何查看 Java 任务的标准输出?