Ant 属性设置为false,但仍执行目标
下面是一个简单的Ant构建文件:Ant 属性设置为false,但仍执行目标,ant,Ant,下面是一个简单的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"/> <tar
<?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
,那么为什么每次都执行compressAssets
目标?注意目标上的if
属性。如果未检查属性值,则检查属性是否已设置
从:
[…]如果设置了模块A-present
属性(设置为任何值,例如false),则将运行目标
在Ant 1.8中,if
现在检查该值是否为真(除非
检查为假),因此您可以执行以下操作:
<target name="blah" if="${do-blah}">
.
.
.
</target>
.
.
.
因此Ant对“if”的含义与整个编程世界的其他部分不同。
<target name="blah" if="${do-blah}">
.
.
.
</target>