You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2008/05/29 23:05:40 UTC
svn commit: r661480 -
/maven/shared/trunk/file-management/src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java
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
{