我想在脚本元素中创建一个由macrodef定义的任务。我希望能找到对应于每个属性的"set"函数。没有这样的运气。是否有其他API用于指定属性?
var statustask = project.createTask("service-status");
statustask.setPath(project.getProperty("path"));
statustask.setStatusproperty("status");
statustask.setTimeout=("1"); // this isn't suppose to take a long time.
statustask.perform();
您可以使用MacroInstance (Task的子类)的方法实现您想要的,您将从createTask
方法获得宏。:
<macrodef name="my.macro">
<attribute name="attr1" default="NOT SET"/>
<sequential>
<echo message="attr1=@{attr1}" />
</sequential>
</macrodef>
<script language="javascript"><![CDATA[
var macro = project.createTask( "my.macro" );
macro.setDynamicAttribute( "attr1", "value_1" );
macro.execute();
]]></script>
运行时产生:
[echo] attr1=value_1