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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to