On 2017-05-29, Al Le wrote:
> in my ant script I'd like to define a macro (via macrodef) which would call
> the 'java' task as a part of its body/implementation.
> In the java task call in the macro, I want to just specify the main class
> name and the classpath. The parameters (which are usually specified via
> nested 'arg' elements) should be as variable as they are in the original java
> task.
> How would I accomplish this?
> What I've come up with until now is:
> <macrodef name="execMyProgram">
> <element name="programArgs" implicit="true" description="'arg'
> entries for the program, use like in the java task"/>
> <sequential>
> <java classname="my.class.name" classpathref="my.classpath">
> <programArgs/>
> </java>
> </sequential>
> </macrodef>
This is the correct way to do it. "implicit=true" means any element you
nest into <execMyProgram> later will get collected as child of your
<programArgs> element and you don't need to use that element name
explicitly.
So instead of
> Then I use the macro as follows:
> <execMyProgram>
> <programArgs>
> <arg value="arg1"/>
> <arg value="arg2"/>
> </programArgs>
> </executeProcessMonitor>
you only have to use
<execMyProgram>
<arg value="arg1"/>
<arg value="arg2"/>
</executeProcessMonitor>
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]