ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From veena pandit <>
Subject Re: converting ant from a make file
Date Fri, 18 Sep 2009 16:53:43 GMT
So how would I write it in the build.xml

for c in A B C D E; do
      perl  -ibak abc.txt
      perl -ibak def.txt
      perl -ibak xyz.txt
      - mkdir Backup
     mv *bak Backup

Not clear what this is doing; but it is executing the same pl file against
different input files.

Sorry, but I don't quite get it yet.



On Fri, Sep 18, 2009 at 12:41 PM, Ernst de Haan <>wrote:

> The Ant way to process multiple Perl files would be:
>   <perl dir="src/perl" todir="build" includes="*.pl" />
> See? It's a different way of thinking...
> Met een vriendelijke groet,
> Ernst de Haan
> PensioenPage B.V.
> tel. (026) 364 56 34
> Op 18 sep 2009 om 17:12 heeft veena pandit <> het
> volgende geschreven:\
> Do you mind posting a small example of the exec command with the script:
>> for c in A B C D E; do?
>> Thanks,
>> Veena
>> On Fri, Sep 18, 2009 at 10:38 AM, John Shott <> wrote:
>> Veena:
>>> for c in A B C D E; do
>>>>    perl ...
>>>>   perl ...
>>>>   perl...
>>>>   - mkdir Backup
>>>>    mv *bak Backup
>>>> How do I move this script over to ant build.xml.
>>>> This is probably a bit hard to answer.  In principle, you can simply
>>> call
>>> the existing script using something like the exec task along with
>>> appropriate arg values.  Or, you can consider breaking the script apart
>>> and
>>> call individual perl scripts with appropriate arguments.  In general,
>>> however, I think that you'll be happier if you are able to use the
>>> built-in
>>> ant tasks wherever possible and resort to things like the exec task only
>>> when you absolutely need to.
>>> While I'm not a great authority on either make or ant, I did spend a
>>> great
>>> deal of time converting a good sized project with a bunch of Makefiles to
>>> an
>>> ant-based build.  My experience is that if you try to simply do a
>>> line-by-line conversion of your Makefiles into the ant equivalent, that
>>> you
>>> will not be terribly happy with the result.  Why?  Ant is not make and
>>> they
>>> approach things differently.
>>> I suspect that you'll be a lot happier with the result if you look
>>> carefully at what Make is doing, make sure that you understand that
>>> fully,
>>> and then look at ant to see how some of it's tasks can be harnessed to do
>>> the same thing.  For example, make tends to do things on a directory by
>>> directory basis whereas ant has a much more sophisticated (to me at
>>> least)
>>> means of specifying filesets that become the target of a task.  Also, ant
>>> now has a wide range of tasks that perform interesting and often complex
>>> elements of a build in a single step.  You may even find it desirable (if
>>> you have that flexibility) to restructure your source tree in a more "ant
>>> friendly" structure.  You may also find that some of the things that your
>>> Perl scripts are doing are conveniently doable by ant tasks so that when
>>> everything is done, instead of having a handful of Makefiles plus Perl
>>> scripts that you may have a single build.xml file.  Of course, not
>>> knowing
>>> what your Perl scripts are doing .... they may be doing things that would
>>> be
>>> hard to do in ant.
>>> I hope that helps,
>>> John
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

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