Создание подпроектов с использованием NANT - PullRequest
1 голос
/ 20 апреля 2011

Я пытаюсь построить проект (A), используя NANT. Проект (A) основан на другом проекте (B), который также построен с использованием NANT. Я хочу иметь возможность вызывать сборку зависимого проекта (B) из сборки проекта (A). Я попытался включить файл сборки проекта B в файл сборки проекта A. Это создает ошибку, потому что два файла сборки содержат цели с одинаковым именем.

Есть ли способ создать псевдоним включенного файла сборки?

Ответы [ 3 ]

3 голосов
/ 20 апреля 2011

Вы можете сделать это, создав «родительский» сборочный файл, который использует действие «nant» для вызова других сборочных файлов.

<target name="rebuild" depends="" >
    <nant target="${target::get-current-target()}">
        <buildfiles>
            <include name="projectB.build" />
            <include name="projectC.build" />
        </buildfiles>
    </nant>
</target>
0 голосов
/ 28 мая 2011

У вас может быть несколько таких целей в вашем мастер-файле.Я часто использую следующую конструкцию для разделения набора файлов сборки между целями, чтобы упростить обслуживание скриптов.

<fileset id="buildfiles.all">
    <include name="projectB.build"/>
    <include name="projectB.build"/>
</fileset>

<target name="build">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="clean">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="publish">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>
0 голосов
/ 20 апреля 2011

Я пытался сделать это с помощью задачи включения, но обнаружил, что задача nant - это то, что мне нужно.

...