[jira] Commented: (MCLEAN-7) empty excludes/ removes the directory of the fileset

2006-03-24 Thread Brett Porter (JIRA)
[ http://jira.codehaus.org/browse/MCLEAN-7?page=comments#action_61873 ] 

Brett Porter commented on MCLEAN-7:
---

I think we should scratch this issue. To me excludes/ == 
excludes/excludes == null, that is, exclude nothing.

The bug should be filed against plexus-utils / file management API (if 
appropriate). Perhaps we should rebase DirectoryScanner against the latest from 
Ant to see if such bugs have been fixed. Anyway, not a big issue.

 empty excludes/ removes the directory of the fileset
 --

  Key: MCLEAN-7
  URL: http://jira.codehaus.org/browse/MCLEAN-7
  Project: Maven 2.x Clean Plugin
 Type: Bug

 Reporter: Jesse McConnell



 I was shifting the unit tests over to use the plugin harness and noticed a 
 test case failing.
 if you look at the test case for the fileset test case, the second fileset 
 test has an addFileset(dir, **, );
 this unit test works fine, but when you try and actually do this behavior 
 using the plugin configuration it brings up an error
 fileset
   
 directory${basedir}/target/test-classes/fileset-clean-test/buildOutputDirectory/directory
   includes
 include**/include
   /includes
 /fileset
 that would be the plugin configuration of the same deal.  
 (exclude/exclude results in a stack trace)
 In this case the directory is getting deleted when configured.  You can 
 exhibit the same behavior with the existing test case if you try and pass 
 null into the addFileset signature...
 this would be the failing test case using the existing plugin, note the null 
 in the second addFileset()
 --
  public void testFilesets()
 throws Exception
 {
 String base = TARGET_TEST_DIR + /target;
 CleanMojo mojo = new CleanMojo();
 mojo.addFileset( createFileset( base, **/file.txt, **/subdir/** ) 
 );
 String outputDirectory = TARGET_TEST_DIR + /buildOutputDirectory;
 mojo.addFileset( createFileset( outputDirectory, **, null ) );
 mojo.execute();
 // fileset 1
 assertTrue( checkExists( base ) );
 assertTrue( checkExists( base + /classes ) );
 assertFalse( checkExists( base + /classes/file.txt ) );
 /* TODO: looks like a bug in the file-management library
 assertTrue( FileUtils.fileExists( base + /subdir/file.txt ) );
 */
 // fileset 2
 assertTrue( checkExists( outputDirectory ) );
 assertFalse( checkExists( outputDirectory + /file.txt ) );
   System.exit(-1);
 }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Commented: (MCLEAN-7) empty excludes/ removes the directory of the fileset

2006-03-23 Thread Jesse McConnell (JIRA)
[ http://jira.codehaus.org/browse/MCLEAN-7?page=comments#action_61796 ] 

Jesse McConnell commented on MCLEAN-7:
--

ok, the setting the fileset to null above seems to throw the same exception now 
that using an empty excludes statement does...

blows on line 502 of DirectoryScanner when setting excludes.

now...

excludesexclude/excludeexcludes blows up and have the excludes as an 
arraylist of size 1 and null inside..

not having the excludes and just the includes yields an arraylist of size 0 and 
removes the directory..

and the existing unit test ends up with a excludes arraylist of size 1 with a 
 element inside.. (which is the only one that passes unit test atm)



 empty excludes/ removes the directory of the fileset
 --

  Key: MCLEAN-7
  URL: http://jira.codehaus.org/browse/MCLEAN-7
  Project: Maven 2.x Clean Plugin
 Type: Bug

 Reporter: Jesse McConnell



 I was shifting the unit tests over to use the plugin harness and noticed a 
 test case failing.
 if you look at the test case for the fileset test case, the second fileset 
 test has an addFileset(dir, **, );
 this unit test works fine, but when you try and actually do this behavior 
 using the plugin configuration it brings up an error
 fileset
   
 directory${basedir}/target/test-classes/fileset-clean-test/buildOutputDirectory/directory
   includes
 include**/include
   /includes
 /fileset
 that would be the plugin configuration of the same deal.  
 (exclude/exclude results in a stack trace)
 In this case the directory is getting deleted when configured.  You can 
 exhibit the same behavior with the existing test case if you try and pass 
 null into the addFileset signature...
 this would be the failing test case using the existing plugin, note the null 
 in the second addFileset()
 --
  public void testFilesets()
 throws Exception
 {
 String base = TARGET_TEST_DIR + /target;
 CleanMojo mojo = new CleanMojo();
 mojo.addFileset( createFileset( base, **/file.txt, **/subdir/** ) 
 );
 String outputDirectory = TARGET_TEST_DIR + /buildOutputDirectory;
 mojo.addFileset( createFileset( outputDirectory, **, null ) );
 mojo.execute();
 // fileset 1
 assertTrue( checkExists( base ) );
 assertTrue( checkExists( base + /classes ) );
 assertFalse( checkExists( base + /classes/file.txt ) );
 /* TODO: looks like a bug in the file-management library
 assertTrue( FileUtils.fileExists( base + /subdir/file.txt ) );
 */
 // fileset 2
 assertTrue( checkExists( outputDirectory ) );
 assertFalse( checkExists( outputDirectory + /file.txt ) );
   System.exit(-1);
 }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Commented: (MCLEAN-7) empty excludes/ removes the directory of the fileset

2006-03-23 Thread Jesse McConnell (JIRA)
[ http://jira.codehaus.org/browse/MCLEAN-7?page=comments#action_61804 ] 

Jesse McConnell commented on MCLEAN-7:
--

Not sure what to do here...

the original test case used the ** includes and  excludes which exhibited 
the desired behavior...

Now it would seem to me that 

fileset
  includes
include**/include
  /includes
/fileset

now to me that would be the same thing, but DirectoryScanner specificaly looks 
for  in the exclude to decide if the directory should be deleted.

fileset
  includes
include**/include
  /includes
  excludes
exclude/exclude
  /excludes
/fileset

Now this builds an excludes arraylist of size 1 but null inside, which triggers 
a NPE in DirectoryScanner..

fileset
  includes
include**/include
  /includes
  excludes
exclude/exclude
  /excludes
/fileset

This certainly doesn't work since it translate to \\ in the fileset

BUT!

fileset
  includes
include**/include
  /includes
  excludes
exclude**/exclude
  /excludes
/fileset

does exhibit the correct behavior, since the includes ** matchs the files in 
the directory and the ** actually seems to protect the directory.  The files 
end up getting smoked but the base directory of the fileset is perserved.

This seems a bit off to me, but I am able to configure a fileset that exhibits 
the same end behavior of the test case...but this feels like another issue to 
me, that ** in includes means something other then ** in excludes.


 empty excludes/ removes the directory of the fileset
 --

  Key: MCLEAN-7
  URL: http://jira.codehaus.org/browse/MCLEAN-7
  Project: Maven 2.x Clean Plugin
 Type: Bug

 Reporter: Jesse McConnell



 I was shifting the unit tests over to use the plugin harness and noticed a 
 test case failing.
 if you look at the test case for the fileset test case, the second fileset 
 test has an addFileset(dir, **, );
 this unit test works fine, but when you try and actually do this behavior 
 using the plugin configuration it brings up an error
 fileset
   
 directory${basedir}/target/test-classes/fileset-clean-test/buildOutputDirectory/directory
   includes
 include**/include
   /includes
 /fileset
 that would be the plugin configuration of the same deal.  
 (exclude/exclude results in a stack trace)
 In this case the directory is getting deleted when configured.  You can 
 exhibit the same behavior with the existing test case if you try and pass 
 null into the addFileset signature...
 this would be the failing test case using the existing plugin, note the null 
 in the second addFileset()
 --
  public void testFilesets()
 throws Exception
 {
 String base = TARGET_TEST_DIR + /target;
 CleanMojo mojo = new CleanMojo();
 mojo.addFileset( createFileset( base, **/file.txt, **/subdir/** ) 
 );
 String outputDirectory = TARGET_TEST_DIR + /buildOutputDirectory;
 mojo.addFileset( createFileset( outputDirectory, **, null ) );
 mojo.execute();
 // fileset 1
 assertTrue( checkExists( base ) );
 assertTrue( checkExists( base + /classes ) );
 assertFalse( checkExists( base + /classes/file.txt ) );
 /* TODO: looks like a bug in the file-management library
 assertTrue( FileUtils.fileExists( base + /subdir/file.txt ) );
 */
 // fileset 2
 assertTrue( checkExists( outputDirectory ) );
 assertFalse( checkExists( outputDirectory + /file.txt ) );
   System.exit(-1);
 }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira