ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Lindwall <JLindw...@Xifin.com>
Subject AntCall vs depends style question
Date Fri, 22 Mar 2002 23:53:22 GMT
I'm a oldtime make user who is now adjusting to ant (which I love BTW).

In make you use dependencies to enforce ordering of targets.  You can do the same thing in
ant using the "depends" attribute.  In ant you can also directly invoke other ant targets
using the "antcall" builtin task.  The build files below are similar in that the "all" target
causes "subtask" to be run and then "all"; one uses antcall the other uses depends.  The "antcall"
solution has the side-effect of unconditionally invoking all dependencies of "subtask" so
in this example you see the "init" target invoked twice.  However "antcall" is nice in that
you can pass properties to the invoked target.

So I guess I'm just looking for best practice advice here.  Do people avoid antcall?  Use
it a lot? As needed?  I dislike the reinvocation of the "init" target but don't know how else
to build a reusable target that can be invoked at oher points in the build file (with  varying
properties as arguments).

Thanks for your opinions!

<!-- START -->
<project name="antcall" default="all">

  <target name="init">
    <echo message="init task"/>
  </target>

  <target name="all" depends="init">
    <antcall target="subtask"/>
    <echo message="all task"/>
  </target>

  <target name="subtask" depends="init">
    <echo message="subtask task"/>
  </target> 

</project>
<!-- END -->

<!-- START -->
<project name="depends" default="all">

  <target name="init">
    <echo message="init task"/>
  </target>

  <target name="all" depends="init,subtask">
    <echo message="all task"/>
  </target>

  <target name="subtask" depends="init">
    <echo message="subtask task"/>
  </target> 

</project>
<!-- END -->


------------------------------------------------------------------
John Lindwall                              mailto:johnl@xifin.com
XIFIN                                      http://www.xifin.com
2233 Faraday Ave Ste A, Carlsbad CA 92008  (760) 804-0770 ext 16

This message is for the sole use of the intended recipient(s) and may contain confidential
and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited.
If you are not the intended recipient, please contact the sender and destroy all copies of
the original message.


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message