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 {