这是一个简单的Ant构建文件:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Project" default="build" basedir=".">
<property name="compressAssets" value="false"/>
<target name="build" depends="compress-assets"/>
<target name="compress-assets" if="compressAssets">
<echo message="executed"/>
</target>
</project>
compressAssets
设置为false
,那么每次compress-assets
目标的执行方式如何?请注意目标上的if
属性。
答案 0 :(得分:6)
if
不会检查属性的值,它会检查属性是否已设置。
<target name="build-module-A" if="module-A-present"/>
[...]如果
module-A-present
属性设置(任何值,例如 false ),目标将会运行。
答案 1 :(得分:5)
在Ant 1.8中,if
现在检查该值是否为真(unless
检查为false),所以你可以这样做:
<target name="blah" if="${do-blah}">
.
.
.
</target>