[ https://issues.apache.org/jira/browse/MNG-7820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17759028#comment-17759028 ]
ASF GitHub Bot commented on MNG-7820: ------------------------------------- elharo commented on code in PR #1208: URL: https://github.com/apache/maven/pull/1208#discussion_r1305598002 ########## maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java: ########## @@ -465,6 +469,28 @@ public void getRemoteFile( } } + private void copyFile(File source, File destination) throws IOException { + String message; + if (!source.exists()) { + message = "File " + source + " does not exist"; + throw new IOException(message); + } else if (!source.getCanonicalPath().equals(destination.getCanonicalPath())) { + File parentFile = destination.getParentFile(); + if (parentFile != null && !parentFile.exists()) { + parentFile.mkdirs(); + } + Files.copy( + source.toPath(), + destination.toPath(), + StandardCopyOption.REPLACE_EXISTING, + StandardCopyOption.COPY_ATTRIBUTES); + if (source.length() != destination.length()) { Review Comment: Even with this check it's not safe against concurrent modifications outside this thread or process. I'm willing to assume the JDK method behaves as documented until proven otherwise. And inlining questionable code is no better than writing it from scratch. This block should go. ########## maven-compat/src/main/java/org/apache/maven/profiles/activation/OperatingSystemProfileActivator.java: ########## @@ -122,12 +153,54 @@ private boolean determineFamilyMatch(String family) { test = test.substring(1); } - boolean result = Os.isFamily(test); + boolean result = isFamily(test); if (reverse) { return !result; } else { return result; } } + + private boolean isFamily(String family) { Review Comment: This can likely be made static, though I wonder if there's more work to be done here. Netware? Windows 98? It amazes me that in one thread I'm trying to convince folks not to drop support for the widely used Java 8 while over here in this PR I'm seeing support for OSs that were defunct circa Java 1.4. > Remove dependency on plexus-utils > --------------------------------- > > Key: MNG-7820 > URL: https://issues.apache.org/jira/browse/MNG-7820 > Project: Maven > Issue Type: Task > Reporter: Guillaume Nodet > Priority: Major > Fix For: 4.0.0-alpha-8 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)