Sebb has previously raised issues highlighted by FindBugs and I ran it before cutting RC5. We have resolved a number of FindBugs issues in this release (Commons IO 1.4 flagged 13 issues and 2.0-RC5 has 9), some of them are not issues and the rest we decided not to resolve. Of the 9 FindBugs issues 6 are pre-existing ones that were in the previous 1.4 release and 3 are new in this release.
On the new issues raised: 1) FileEntry.setChildren(FileEntry[]) may expose internal representation by storing an externally mutable object This impl. is used internally by FileAlterationObserver to refresh and update the state of files it is monitoring and in that context this is not an issue. If people re-use that impl. elsewhere then they need to take care - but its not its primary purpose here and I think its OK. 2) The ByteArrayOutputStream "synchronization" issue is a false positive and was discussed here: https://issues.apache.org/jira/browse/IO-214 3) The ByteArrayOutputStream "may fail to close stream" issue is a false positive since close() does nothing in that impl On the pre-existing issues from IO 1.4: 1) The two issues regarding FileUtils ignoring the exceptional return from setLastModified() were discussed here: https://issues.apache.org/jira/browse/IO-215 2) The two issues regarding FileUtils ignoring the exceptional return from mkdirs() are false positives IMO since the following line in both those methods checks for the existence of the directory and throws an exception if it doesn't exist. 3) DeferredFileOutputStream is reporting one bug - but no details are given in the report!! 4) LockableFileWriter ignoring the exceptional return value delete() was discussed here: https://issues.apache.org/jira/browse/IO-216 So in summary we resolved 7 FindBugs issues that were present in the last release. 3 new ones introduced in this release, but which are not an issue IMO and the remaining 6 issue from the last release have been considered. So I don't believe anything here should delay the 2.0 release. Thanks Niall On Fri, Oct 15, 2010 at 6:56 PM, Gary Gregory <ggreg...@seagullsoftware.com> wrote: > Hi All: > > I downloaded and tested building on Oracle Java 1.6.0_21 64 bit on Windows > Vista 64 bit with Ant 1.8.1 and Maven 2.2.1. All is well with the build and > unit tests. > > Findbugs is not part of the build, so I added it and I have some questions: > > (1) doCopyDirectory and another methods that call setLastModified. > > In: > > private static void doCopyDirectory(File srcDir, File destDir, FileFilter > filter, > boolean preserveFileDate, List<String> exclusionList) throws > IOException { > ... > // Do this last, as the above has probably affected directory metadata > if (preserveFileDate) { > destDir.setLastModified(srcDir.lastModified()); > } > } > > > Yields: > > FileUtils.java:1101 org.apache.commons.io.FileUtils.doCopyDirectory(File, > File, FileFilter, boolean, List) ignores exceptional return value of > java.io.File.setLastModified(long) > > Since the caller specifically asks for /preserveFileDate/ I would assume that > the cares whether it worked or not. Otherwise this should be > "quietlyTryToPreserveFileDate" > > It seems like the method should either return a Boolean or throw an exception. > > Same issue with: > > FileUtils.java:827 org.apache.commons.io.FileUtils.doCopyFile(File, File, > boolean) ignores exceptional return value of > java.io.File.setLastModified(long) > > Same kind of issue with: > > FileUtils.java:2060 > org.apache.commons.io.FileUtils.moveDirectoryToDirectory(File, File, boolean) > ignores exceptional return value of java.io.File.mkdirs() > FileUtils.java:2135 org.apache.commons.io.FileUtils.moveFileToDirectory(File, > File, boolean) ignores exceptional return value of java.io.File.mkdirs() > > There are a couple more that I am looking at... > > - > Gary Gregory > >> -----Original Message----- >> From: Simone Tripodi [mailto:simone.trip...@gmail.com] >> Sent: Friday, October 15, 2010 01:17 >> To: Commons Developers List >> Subject: Re: [VOTE] Release Commons IO 2.0 based on RC5 >> >> Hi Niall, >> should the clirr report link located on >> http://people.apache.org/~niallp/io-2.0-rc5/site/clirr-report.html >> instead of >> http://people.apache.org/~niallp/io-2.0-rc4/site/clirr-report.html? >> >> I can't speak about the implementation stuff because my knowledge on >> IO is not good enough, but release looks good, mvn stuff are ok, >> generated site (known broken links a part) seems ok. >> Tested with both java5 and java6: >> >> ------------------------------------------------------------------------------ >> ------------------------------------------- >> >> Darwin Simones-Computer-2.local 10.4.0 Darwin Kernel Version 10.4.0: >> Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 >> >> java version "1.6.0_20" >> Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065) >> Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode) >> >> Apache Maven 3.0 (r1004208; 2010-10-04 13:50:56+0200) >> Java version: 1.6.0_20 >> Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home >> Default locale: en_US, platform encoding: MacRoman >> OS name: "mac os x" version: "10.6.4" arch: "x86_64" Family: "mac" >> >> Tests run: 744, Failures: 0, Errors: 0, Skipped: 0 >> >> ------------------------------------------------------------------------------ >> ------------------------------------------- >> >> Darwin Simones-Computer-2.local 10.4.0 Darwin Kernel Version 10.4.0: >> Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 >> >> java version "1.5.0_24" >> Java(TM) 2 Runtime Environment, Standard Edition (build >> 1.5.0_24-b02-357-10M3065) >> Java HotSpot(TM) Client VM (build 1.5.0_24-149, mixed mode, sharing) >> >> Apache Maven 3.0 (r1004208; 2010-10-04 13:50:56+0200) >> Java version: 1.5.0_24 >> Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home >> Default locale: en_US, platform encoding: MacRoman >> OS name: "mac os x" version: "10.6.4" arch: "i386" Family: "unix" >> >> Tests run: 744, Failures: 0, Errors: 0, Skipped: 0 >> >> I don't know if my vote is binding or not, BTW I express my +1 >> Have a nice day, >> Simo >> >> http://people.apache.org/~simonetripodi/ >> http://www.99soft.org/ >> >> >> >> On Fri, Oct 15, 2010 at 4:14 AM, Niall Pemberton >> <niall.pember...@gmail.com> wrote: >> > I have prepared Commons IO 2.0 RC5. The main changes since RC4 was to >> > rename the FilesystemObserver/Monitor to >> > FileAlterationObserver/Monitor and improvements to the test coverage. >> > >> > The RC3 changes were improvements to some tests which were causing >> > intermittent failures in Gump & Continuum and JavaDoc improvements. >> > For details about Continuum builds/failures, see: >> > http://people.apache.org/~niallp/io-2.0/IOFailures.html >> > >> > The distro is here: >> > http://people.apache.org/~niallp/io-2.0-rc5/ >> > >> > Release Notes: >> > http://people.apache.org/~niallp/io-2.0-rc5/RELEASE-NOTES.txt >> > >> > Site: >> > http://people.apache.org/~niallp/io-2.0-rc5/site/ >> > >> > Maven Stuff: >> > http://people.apache.org/~niallp/io-2.0-rc5/maven/ >> > >> > Some Notes: >> > >> > * There is one error on the clirr report - which is a false positive >> > (a generic method that is erased) >> > http://people.apache.org/~niallp/io-2.0-rc4/site/clirr-report.html >> > * Links to the JavaDoc versions on the site don't work (they will when >> > its deployed to the right location) >> > >> > Thanks >> > >> > Niall >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> > For additional commands, e-mail: dev-h...@commons.apache.org >> > >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org