Author: hboutemy
Date: Thu May 29 14:05:40 2008
New Revision: 661480
URL: http://svn.apache.org/viewvc?rev=661480&view=rev
Log:
fixed testDeleteDontFollowSymlinks() unit test, which failed to delete a
symlink linking to its parent directory due to recursion
Modified:
maven/shared/trunk/file-management/src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java
Modified:
maven/shared/trunk/file-management/src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java?rev=661480&r1=661479&r2=661480&view=diff
==============================================================================
---
maven/shared/trunk/file-management/src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java
(original)
+++
maven/shared/trunk/file-management/src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java
Thu May 29 14:05:40 2008
@@ -299,14 +299,38 @@
if ( file.exists() )
{
- if ( file.isDirectory() && ( fileSet.isFollowSymlinks() ||
!isSymlink( file ) ) )
+ if ( file.isDirectory() )
{
- if ( verbose && messages != null )
+ if ( fileSet.isFollowSymlinks() || !isSymlink( file ) )
{
- messages.addInfoMessage( "Deleting directory: " + file
).flush();
+ if ( verbose && messages != null )
+ {
+ messages.addInfoMessage( "Deleting directory: " +
file ).flush();
+ }
+
+ removeDir( file, fileSet.isFollowSymlinks(),
throwsError, warnMessages );
+ }
+ else
+ { // delete a symlink to a directory without follow
+ if ( verbose && messages != null )
+ {
+ messages.addInfoMessage( "Deleting symlink to
directory: " + file ).flush();
+ }
+
+ if ( !file.delete() )
+ {
+ String message = "Unable to delete symlink " +
file.getAbsolutePath();
+ if ( throwsError )
+ {
+ throw new IOException( message );
+ }
+
+ if ( !warnMessages.contains( message ) )
+ {
+ warnMessages.add( message );
+ }
+ }
}
-
- removeDir( file, fileSet.isFollowSymlinks(), throwsError,
warnMessages );
}
else
{