如何使用不同的参数多次运行自定义任务



我试图执行目标"MyTarget",并得到一个错误:"不支持的元素回声"。也许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>

如何使用不同的参数运行自定义任务几次?

是的,你可以在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

相关内容

  • 没有找到相关文章

最新更新