Включить / исключить файлы сборки - PullRequest
0 голосов
/ 09 февраля 2011

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

1 Ответ

1 голос
/ 09 февраля 2011

Почему бы просто не использовать задачу include , чтобы вместо этого включить все сценарии сборки вашего ребенка?

...