ant - 使用 ant,检查是否在文件中找到特定字符串

标签 ant

我的要求是,使用等待条件, Ant 应该定期检查日志文件中是否显示字符串“构建成功”。如果找到该字符串,则应执行特定操作。

最佳答案

以下是您可以执行此操作的一种方法的示例:

<target name="wait-for">
    <waitfor maxwait="15" maxwaitunit="second" timeoutproperty="build.timeout">
        <resourcecontains resource="build.log" substring="Build Successful" />
    </waitfor>
    <antcall target="build-success" />
</target>

<target name="build-success" depends="build-fail" unless="build.timeout">
    <echo message="Success" />
</target>
<target name="build-fail" if="build.timeout">
    <echo message="Fail" />
</target>

使用 resourcecontains 在命名资源中查找字符串的条件 - 在本例中为文件“build.log”。
如果在规定的时间内没有找到,build.timeout属性设置。有两个目标,一个是要运行的
如果找到字符串,则另一个如果没有。 'target' attributes if , unless , 和 depends用于使 if-else 逻辑需要。如果你只需要在成功或失败的情况下采取行动,你可以稍微简化一下。

关于ant - 使用 ant,检查是否在文件中找到特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4374137/

相关文章:

Android Jenkins Ant 构建失败

java - 如何查看被截断的完整 ant 构建错误

java - ant 支持 java 9 addmods 选项

gwt - 通常如何使用 Ant 配置惰性或增量构建?

使用 Ant 进行 Android 签名

java - 通过 Jenkins 参数化 JUnit CucumberOptions

java - 无法在我的 mac Os X 上运行 Ant?

android - 使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令 'ant' 时出错

java - Service Builder不编译依赖于IVY jar的代码

Maven:我可以只将依赖项(没有应用程序)打包在 jar 中吗?