Bugs item #1179497, was opened at 2005-04-09 00:02
Message generated for change (Comment added) made by drieseng
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1179497&group_id=31650

Category: Tasks
Group: None
>Status: Closed
>Resolution: Invalid
Priority: 5
Submitted By: Eric Wright (eiw)
>Assigned to: Gert Driesen (drieseng)
Summary: DeleteTask: The directory does not exist. error 

Initial Comment:
When using the <delete> task I get the message: 
[delete] Cannot delete 
directory 'C:\Source\SPP_Admin\SPP\bin'. The 
directory does not exist.  when infact the directory does 
exist.  Even though there is an error it still deletes the 
directory.  Using failonerror avoids failure but I am still 
getting garabe in my log.

This only happens  for some directories.  Here is my 
<delete> tasks, the first one always works while the 
second one doesnt.

<delete dir="${build.dir}/${project.name}/bin" 
failonerror="false" />
<delete dir="${build.dir}/${project.name}/obj" 
failonerror="false" />

and here is my output:
[delete] Deleting 
directory 'C:\Source\SPP_Admin\SPPAPI\bin'.
[delete] C:\Source\SPP_Admin\SPPAPI\SPPAPI.build
(60,4):
[delete] Cannot delete 
directory 'C:\Source\SPP_Admin\SPPAPI\obj'. The 
directory does not exist.

I also tried adding an 'if=' to the task and that doesnt 
change anything.  I tried using the <if> task as well and 
here are those results:
[echo] Directory  C:\Source\SPP_Admin/Navigation/obj 
exists
[delete] 
C:\Source\SPP_Admin\Navigation\Navigation.build(61,5):
[delete] Cannot delete 
directory 'C:\Source\SPP_Admin\Navigation\obj'. The 
directory does not exist.
[echo] Directory  C:\Source\SPP_Admin/Navigation/bin 
exists
[delete] Deleting 
directory 'C:\Source\SPP_Admin\Navigation\bin'.

and here are the <if> tasks:
<if test="${not directory::exists('${build.dir}/
${project.name}/obj')}">
        <echo message="Directory  ${build.dir}/
${project.name}/obj exists" />
        <delete dir="${build.dir}/${project.name}/obj" 
failonerror="false" />
</if>
<if test="${not directory::exists('${build.dir}/
${project.name}/bin')}">
        <echo message="Directory  ${build.dir}/
${project.name}/bin exists" />
        <delete dir="${build.dir}/${project.name}/bin" 
failonerror="false" />
</if>   

----------------------------------------------------------------------

>Comment By: Gert Driesen (drieseng)
Date: 2005-04-10 17:29

Message:
Logged In: YES 
user_id=707851

The logic of your <if> tasks does not seem correct: you're 
only removing directories if they do not exist.

Also, in function calls you don't need to enclose property 
names in ${..}.

Try using this:

<delete dir="${build.dir}/${project.name}/bin" 
if="${directory::exists(build.dir + '/' + project.name + '/bin')}" />

I for one think that behaviour of the <delete> task sucks: it 
should not fail if the directory that you're trying to delete does 
not exist.


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1179497&group_id=31650


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to