Как ты это делаешь? Учитывая несколько файлов сборки, я хочу включить только те, в которых существует цель (указанная из командной строки). Использование 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>