But shouldn’t we be copying the last modified time stamp always anyway On Thu 28 Dec 2017 at 14:52, Karl Heinz Marbaise <[email protected]> wrote:
> Hi, > > after diving more into this.. > > I found that if I upgrade plexus-utils to 3.1.0 in plexus-archiver the > tests in plexus-archiver stuck completely...as I already observed (which > I though was another cause)... > > https://travis-ci.org/codehaus-plexus/plexus-archiver/jobs/321821294 > > So more diving into the details I realized that the following code in > plexus-utils causes the issue: > > FileUtils.java: > > private static void doCopyFile( File source, File destination ) > throws IOException > { > // offload to operating system if supported > if ( Java7Detector.isJava7() ) > { > doCopyFileUsingNewIO( source, destination ); > } > else > { > doCopyFileUsingLegacyIO( source, destination ); > } > } > > The real issue is located in the implementation of doCopyFileUsingNewIO > which uses: > > > > public static File copy( File source, File target ) > throws IOException > { > Path copy = Files.copy( source.toPath(), target.toPath(), > StandardCopyOption.REPLACE_EXISTING, > StandardCopyOption.COPY_ATTRIBUTES, > LinkOption.NOFOLLOW_LINKS ); > return copy.toFile(); > } > > and If I correctly understand the whole thing is the real cause of that > based on the usage of StandardCopyOption.COPY_ATTRIBUTES which includes > copying of the last-modified of the file...which means not to change the > last-modified entry of the file and in result that is the reason of not > changing it and the stucking of the unit test in plexus-archiver...(see > travis build above).. > > > After I have changed that and only use > > public static File copy( File source, File target ) > throws IOException > { > Path copy = Files.copy( source.toPath(), target.toPath(), > StandardCopyOption.REPLACE_EXISTING, > LinkOption.NOFOLLOW_LINKS ); > return copy.toFile(); > } > > it looks like working (see branch issue-fix): > > What Do you think? > > Kind regards > Karl Heinz Marbaise > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Sent from my phone
