You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/07/25 14:11:26 UTC
[maven-shared-utils] 01/02: [MSHARED-1107] Make copyFile succeed with source file having lastModified() = 0
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git
commit cbd1acd141c7cdc80fe3750ef89a1127c10578bb
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Jul 25 14:56:06 2022 +0200
[MSHARED-1107] Make copyFile succeed with source file having lastModified() = 0
Also check for existence of destination file before overwriting.
This closes #105
---
.../apache/maven/shared/utils/io/FileUtils.java | 2 +-
.../maven/shared/utils/io/FileUtilsTest.java | 24 ++++++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java b/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
index 79c96b3..100ad81 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
@@ -1901,7 +1901,7 @@ public class FileUtils
{
if ( wrappers == null || wrappers.length == 0 )
{
- if ( overwrite || to.lastModified() < from.lastModified() )
+ if ( overwrite || !to.exists() || to.lastModified() < from.lastModified() )
{
copyFile( from, to );
}
diff --git a/src/test/java/org/apache/maven/shared/utils/io/FileUtilsTest.java b/src/test/java/org/apache/maven/shared/utils/io/FileUtilsTest.java
index 4dfa4fa..1f7daba 100644
--- a/src/test/java/org/apache/maven/shared/utils/io/FileUtilsTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/io/FileUtilsTest.java
@@ -439,6 +439,30 @@ public class FileUtilsTest
assertFileContent( to, "Hello World!" );
}
+ @Test
+ public void copyFileWithNoFiltersAndLastModifiedDateOfZeroAndNoDestination()
+ throws Exception
+ {
+ File from = write(
+ "from.txt",
+ MODIFIED_YESTERDAY,
+ "Hello World!"
+ );
+ File to = new File(
+ tempFolder.getRoot(),
+ "to.txt"
+ );
+
+ from.setLastModified( 0 );
+ FileUtils.copyFile( from, to, null, ( FileUtils.FilterWrapper[] ) null);
+
+ assertTrue(
+ "to.txt did not exist so should have been written",
+ to.lastModified() >= MODIFIED_TODAY
+ );
+ assertFileContent( to, "Hello World!" );
+ }
+
@Test
public void copyFileWithNoFiltersAndOutdatedDestination()
throws Exception