学习 Apache Ant(3)

现在的 build.xml 如下:

<?xml version="1.0"?>
<project name="ant-test">
    <target name="target1"/>
</project>

<target> 里面可以做什么呢?我们写一个最简单的,将 target1 改为:

<target name="target1">
    <echo>Hello, world!</echo>
</target>

运行起来结果如下:

E:\Copy\SourceCode\Personal\ant-test>ant target1
Buildfile: E:\Copy\SourceCode\Personal\ant-test\build.xml

target1:
     [echo] Hello, world!

BUILD SUCCESSFUL
Total time: 0 seconds

E:\Copy\SourceCode\Personal\ant-test>

这里 <echo> 是一个具体的命令,称为 Task。Ant 内建了许多 Task,有的 Task 可以用来做条件判断。下面是一个使用 <condition><available> 判断当前目录下是否存在 build.xml 的例子:

<?xml version="1.0"?>
<project name="ant-test" default="echo-message">

    <target name="echo-message" depends="check" if="check-build-file">
        <echo> build.xml exists. </echo>
    </target>

    <target name="check">
        <condition property="check-build-file">
            <available file="build.xml"/>
        </condition>
    </target>
</project>

注意这里 echo-message 用 depends 属性保证名为 check 的 Target 先运行,得出结果放在 check-build-file 属性中,然后再在运行 echo-message 的时候读取出来并判断。如果 if 属性值为 true,则运行里面的 <echo>

运行 ant 输出结果如下:

E:\Copy\SourceCode\Personal\ant-test>ant
Buildfile: E:\Copy\SourceCode\Personal\ant-test\build.xml

check:

echo-message:
     [echo]  build.xml exists.

BUILD SUCCESSFUL
Total time: 0 seconds

E:\Copy\SourceCode\Personal\ant-test>

你可能感兴趣的:(学习 Apache Ant(3))