由于工作的需要,我们软件的build是用makefile写的,而现在使用ant做自动化构建,所以要使用ant的语法来调用makefile文件。这里我是这样做的,这里的build.xml文件如下:
<project name="maketest" default="mk">
<target name="mk" >
<exec dir="/ci/opt/cruisecontrol-bin-2.7.3/projects/maketest" executable="make" os="Linux" failοnerrοr="true">
</exec>
</target>
</project>
而我们的makefile文件简单如下:
targets:
@echo "hello make!"
pwd
du
@echo "test is ok!">>/ci/opt/cruisecontrol-bin-2.7.3/projects/maketest/test.txt
按照build.xml文件,ant将会执行make命令。
结果如下:
[root@localhost maketest]# ant
Buildfile: build.xml
mk:
[exec] hello make!
[exec] pwd
[exec] /ci/opt/cruisecontrol-bin-2.7.3/projects/maketest
[exec] du
[exec] 16 .
BUILD SUCCESSFUL
Total time: 1 second
[root@localhost maketest]#
我们可以看到ant已经成功执行,并输出了makefile的结果。这里提醒大家的是,ant在执行过程中对语法错误的检测是相当宽松的,所以我们看到ant “build successful”的语句并不一定说明ant语句没有问题。
good luck!!