你是怎么做到的?给定几个构建文件,我只想包含目标(从命令行指定)所在的文件。使用target::exists
似乎不起作用。感谢。
<target name="*">
<property name="curr.target" value="${target::get-current-target()}"/>
<nant target="${curr.target}">
<buildfiles>
<include name="*.build" if="${target::exists(curr.target)}"/>
<!-- avoid recursive execution of current build file-->
<exclude name="${project::get-buildfile-path()}" />
</buildfiles>
</nant>
</target>
使用robaker的解决方案,我的最终构建文件如下所示。如果在某个构建文件中找不到目标(与我之前的代码不同),它不会再失败。
<project>
<include buildfile="A.build"/>
<include buildfile="B.build"/>
<target name="*">
<nant target="${target::get-current-target()}"/>
</target>
</project>