【发布时间】:2010-11-30 01:34:29
【问题描述】:
我正在使用 ant 来构建 Java 和 C++ (JNI) 代码的混合体,这些代码构成了这里的客户端项目。我最近将构建的 C++ 部分切换为使用带有 cpptasks 的 ant 来构建 C++ 代码,而不是让 ant 调用构建代码所需的各种版本的 Visual Studio。
为了让它工作,在触发另一个执行基于 cpptasks 的 ant C++ 构建。从本质上讲,主要 ant 构建文件中与 C++ 相关的构建任务对于 Windows 如下所示:
<target name="blah">
<exec executable="cmd" failonerror="true">
<arg value="/C"/>
<arg line=""${cpp.compiler.path}/vsvars32.bat" && %ANT_HOME%/bin/ant -f cpp-build.xml make-cpp-stuff" />
</exec>
</target>
没有办法摆脱 vsvars32.bat 调用,因为代码必须使用多个 VS 版本以及在任何 Visual Studio 设置都不能成为构建用户环境的一部分的构建机器上构建。
上述方法有效,但我遇到的问题是我想将某些命令行选项(如 -verbose、-quiet、-emacs)传递给子 ant(如果它们已传递给父级)蚂蚁。是否可以通过提供给父蚂蚁的命令行选项进行访问?请注意,我说的不是通常的属性定义,而是 ant-internal 选项。
【问题讨论】: