Author: bentmann
Date: Wed Sep 10 14:06:44 2008
New Revision: 693981
URL: http://svn.apache.org/viewvc?rev=693981&view=rev
Log:
[MSHARED-62] Excludes are ignored for deletion if followSymlinks=false
Added:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded.txt
(with props)
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/dummy.txt
(with props)
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/included.txt
(with props)
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded.txt
(with props)
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/dummy.txt
(with props)
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/included.txt
(with props)
Modified:
maven/shared/trunk/file-management/src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java
maven/shared/trunk/file-management/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.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=693981&r1=693980&r2=693981&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
Wed Sep 10 14:06:44 2008
@@ -427,7 +427,7 @@
.addInfoMessage( "Adding symbolic link dirs which were
previously excluded to the list being deleted." ).flush();
}
- // we need to see which entries were excluded because they're
symlinks...
+ // we need to see which entries were only excluded because they're
symlinks...
scanner.setFollowSymlinks( true );
scanner.scan();
@@ -437,17 +437,17 @@
messages.addDebugMessage( "Marked for preserve (with
followSymlinks == false): " + excludes ).flush();
}
- List notSymlinks = Arrays.asList( scanner.getIncludedDirectories()
);
+ List includedDirsAndSymlinks = Arrays.asList(
scanner.getIncludedDirectories() );
linksForDeletion.addAll( excludes );
- linksForDeletion.retainAll( notSymlinks );
+ linksForDeletion.retainAll( includedDirsAndSymlinks );
if ( messages != null && messages.isDebugEnabled() )
{
messages.addDebugMessage( "Symlinks marked for deletion
(originally mismarked): " + linksForDeletion ).flush();
}
- excludes.removeAll( notSymlinks );
+ excludes.removeAll( includedDirsAndSymlinks );
}
excludeParentDirectoriesOfExcludedPaths( excludedDirs, includes );
@@ -487,7 +487,7 @@
.addInfoMessage( "Adding symbolic link files which were
previously excluded to the list being deleted." ).flush();
}
- // we need to see which entries were excluded because they're
symlinks...
+ // we need to see which entries were only excluded because they're
symlinks...
scanner.setFollowSymlinks( true );
scanner.scan();
@@ -497,17 +497,17 @@
messages.addDebugMessage( "Marked for preserve (with
followSymlinks == false): " + excludes ).flush();
}
- List notSymlinks = Arrays.asList( scanner.getExcludedFiles() );
+ List includedFilesAndSymlinks = Arrays.asList(
scanner.getIncludedFiles() );
linksForDeletion.addAll( excludes );
- linksForDeletion.retainAll( notSymlinks );
+ linksForDeletion.retainAll( includedFilesAndSymlinks );
if ( messages != null && messages.isDebugEnabled() )
{
messages.addDebugMessage( "Symlinks marked for deletion
(originally mismarked): " + linksForDeletion ).flush();
}
- excludes.removeAll( notSymlinks );
+ excludes.removeAll( includedFilesAndSymlinks );
}
excludeParentDirectoriesOfExcludedPaths( excludedFiles, includes );
Modified:
maven/shared/trunk/file-management/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java?rev=693981&r1=693980&r2=693981&view=diff
==============================================================================
---
maven/shared/trunk/file-management/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java
(original)
+++
maven/shared/trunk/file-management/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java
Wed Sep 10 14:06:44 2008
@@ -236,6 +236,50 @@
}
/**
+ * @throws Exception if any
+ */
+ public void testDeleteExcludeFollowSymlinks()
+ throws Exception
+ {
+ File directory = setupTestDirectory( "testDeleteExcludeFollowSymlinks"
);
+
+ FileSet set = new FileSet();
+ set.setDirectory( directory.getPath() );
+ set.addExclude( "*excluded*" );
+ set.setFollowSymlinks( true );
+
+ FileSetManager fileSetManager = new FileSetManager();
+
+ fileSetManager.delete( set );
+
+ Assert.assertTrue( "excluded file has been deleted", new File(
directory, "excluded.txt" ).exists() );
+ Assert.assertTrue( "excluded directory has been deleted", new File(
directory, "excluded" ).exists() );
+ Assert.assertFalse( "included file has not been deleted", new File(
directory, "included.txt" ).exists() );
+ }
+
+ /**
+ * @throws Exception if any
+ */
+ public void testDeleteExcludeDontFollowSymlinks()
+ throws Exception
+ {
+ File directory = setupTestDirectory(
"testDeleteExcludeDontFollowSymlinks" );
+
+ FileSet set = new FileSet();
+ set.setDirectory( directory.getPath() );
+ set.addExclude( "*excluded*" );
+ set.setFollowSymlinks( false );
+
+ FileSetManager fileSetManager = new FileSetManager();
+
+ fileSetManager.delete( set );
+
+ Assert.assertTrue( "excluded file has been deleted", new File(
directory, "excluded.txt" ).exists() );
+ Assert.assertTrue( "excluded directory has been deleted", new File(
directory, "excluded" ).exists() );
+ Assert.assertFalse( "included file has not been deleted", new File(
directory, "included.txt" ).exists() );
+ }
+
+ /**
* @param from
* @param to
* @return
Added:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded.txt
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded.txt?rev=693981&view=auto
==============================================================================
---
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded.txt
(added)
+++
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded.txt
Wed Sep 10 14:06:44 2008
@@ -0,0 +1 @@
+Should not be deleted.
\ No newline at end of file
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/dummy.txt
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/dummy.txt?rev=693981&view=auto
==============================================================================
---
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/dummy.txt
(added)
+++
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/dummy.txt
Wed Sep 10 14:06:44 2008
@@ -0,0 +1 @@
+The Resources Plugin won't copy empty directories...
\ No newline at end of file
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/dummy.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/excluded/dummy.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/included.txt
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/included.txt?rev=693981&view=auto
==============================================================================
---
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/included.txt
(added)
+++
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/included.txt
Wed Sep 10 14:06:44 2008
@@ -0,0 +1 @@
+Should be deleted.
\ No newline at end of file
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/included.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeDontFollowSymlinks/included.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded.txt
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded.txt?rev=693981&view=auto
==============================================================================
---
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded.txt
(added)
+++
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded.txt
Wed Sep 10 14:06:44 2008
@@ -0,0 +1 @@
+Should not be deleted.
\ No newline at end of file
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/dummy.txt
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/dummy.txt?rev=693981&view=auto
==============================================================================
---
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/dummy.txt
(added)
+++
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/dummy.txt
Wed Sep 10 14:06:44 2008
@@ -0,0 +1 @@
+The Resources Plugin won't copy empty directories...
\ No newline at end of file
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/dummy.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/excluded/dummy.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/included.txt
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/included.txt?rev=693981&view=auto
==============================================================================
---
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/included.txt
(added)
+++
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/included.txt
Wed Sep 10 14:06:44 2008
@@ -0,0 +1 @@
+Should be deleted.
\ No newline at end of file
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/included.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/shared/trunk/file-management/src/test/resources/testDeleteExcludeFollowSymlinks/included.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision