这是一个简单的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>
Run Code Online (Sandbox Code Playgroud)
compressAssets设置为false,那么为什么compress-assets每次执行目标?注意if目标上的属性.
if 不检查属性的值,它检查属性是否已设置.
从文档:
<target name="build-module-A" if="module-A-present"/>
Run Code Online (Sandbox Code Playgroud)
[...]如果
module-A-present属性设置(任何值,例如false),目标将被运行.
在Ant 1.8中,if现在检查值是否为true(unless检查为false),因此您可以执行以下操作:
<target name="blah" if="${do-blah}">
.
.
.
</target>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3098 次 |
| 最近记录: |