我有一组项目,使用“父”项目的构建文件。一切正常,直到每个项目包含 test 目录。
现在我有一个新项目,还没有测试,所以如果 test 目录不存在,我想不运行 tests 任务。 (原始脚本失败并显示srcdir "C:\.jenkins\jobs\Cenne Papiry\workspace\test" does not exist!
。)
我只是在 test 目录存在时才尝试设置 test.src 属性:
<available file="test" property="test.src" value="test"/>
并根据 test.src 属性确定测试任务:
<target name="tests" depends="compile-tests" if="test.src">
test.scr 属性未设置,但 ant 仍尝试执行 tests 任务:
C:\Users\vackova\workspace\commons-agata\build.xml:246: srcdir attribute must be set!
(<javac target="1.8" debug="true" srcdir="${test.src}" destdir="${class.dir}" encoding="UTF-8" >
)
我如何实现目标?
答案 0 :(得分:0)
您的代码是正确的,应该适用于大多数ant版本。这是一个独立运行的测试代码段,在ant 1.7.1和1.9.4中进行了测试:
<project name="bar" default="tests" basedir=".">
<available file="foo" property="test.src" value="anything"/>
<target name="tests" if="test.src">
<echo message="folder or file foo exists"/>
</target>
</project>