Как запустить пользовательское задание несколько раз с разными параметрами? - PullRequest
1 голос
/ 23 ноября 2011

Я пытаюсь выполнить цель "MyTarget" и получаю ошибку: "Unsupported element echo".Возможно, Macrodef не способ сделать эту работу.Есть ли другой способ передать задачу в другую цель / macrodef с другими параметрами?

<macrodef name="dotask">
    <attribute name="platform" description="" />
    <attribute name="config" description="" />
    <element name="task2" optional="true" />
    <sequential>
        <task2 />
    </sequential>
</macrodef>

<macrodef name="buildsuite2">
    <element name="task" optional="true" />
    <sequential>
        <dotask platform="win32" config="debug">
            <task />
        </dotask>   
        <dotask platform="win32" config="release">
            <task />
        </dotask>
    </sequential>
</macrodef>

    <target name="MyTarget">
        <buildsuite2>
            <task>
                <echo>${platform} ${config}</echo>
            </task>
        </buildsuite2>
    </target>

1 Ответ

1 голос
/ 23 ноября 2011

Как запустить пользовательское задание несколько раз с разными параметрами?

Да, вы можете сделать это с помощью задачи antcall .

Образец:

<target name="method_impl">
    <echo message="${firstParam}"/>
    <echo message="${secondParam}"/>
</target>

<target name="test_calling_twice">
    <echo message="First time call"/>
    <antcall target="method_impl">
        <param name="firstParam" value="fP1"/>
        <param name="secondParam" value="sP1"/>
    </antcall>

    <echo message="Second time call"/>
    <antcall target="method_impl">
        <param name="firstParam" value="fP2"/>
        <param name="secondParam" value="sP2"/>
    </antcall>
</target>

Вывод будет:

Первый звонок
fP1
sP1
Второй раз звоните
fP2
sP2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...