This blog is used as a memory dump of random thoughts and interesting facts about different things in the world of IT. If anyone finds it useful, the author will be just happy! :-)

Thursday, January 3, 2013

NAnt <copy> task behaves differently in 0.92 and prior versions

If you need to copy a folder together with all its contents to another folder in NAnt, you would typically write something like this:
<copy todir="${target}">
  <fileset basedir="${source}" />
</copy>
It turns out this code works correctly in NAnt 0.92 Alpha and above. The output is expected:
[copy] Copying 1 directory to '...'.
However, the same code doesn’t work in prior versions of NAnt, for instance, 0.91. The output is as follows (only in –debug+ mode):
[copy] Copying 0 files to '...'.
Obviously, the issue was fixed in 0.92, so the best recommendation would be to upgrade NAnt toolkit. However, if this is not an option for some reason, the following code seems to work correctly for any version:
<copy todir="${target}">
  <fileset basedir="${source}">
    <include name="**/*" />
  </fileset>
</copy>
Hope this saves you some time.

5 comments:

  1. suresh senthupandiMarch 20, 2013 at 5:19 AM

    Very Good Information.

    ReplyDelete
  2. Hey!
    I really appreciate for your work. Please update this regularly. What a commendable work you have done, with simplest of language. I can’t resist myself to leave a comment and trust me it’s hard to impress me.

    Vachel
    PHP Development Chicago
    .NET Development Chicago
    Chicago Development Team
    cmscentral.net

    ReplyDelete
    Replies
    1. Thanks for your praise! I'll try to post more often, :-)

      Delete
  3. I have search this code some time thank for providing this code please providing some code.
    PHP Chicago

    ReplyDelete