You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2026/07/01 12:35:47 UTC

(maven-shared-utils) 02/02: PathTool.getRelativeFilePath: fix broken Windows drive-letter regex

This is an automated email from the ASF dual-hosted git repository.

elharo pushed a commit to branch fix/pathtool-windows-drive-regex
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git

commit b5f9159590d23737e048f2981add4ad23fbfab07
Author: Elliotte Rusty Harold <el...@ibiblio.org>
AuthorDate: Wed Jul 1 08:35:35 2026 -0400

    PathTool.getRelativeFilePath: fix broken Windows drive-letter regex
---
 src/main/java/org/apache/maven/shared/utils/PathTool.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/maven/shared/utils/PathTool.java b/src/main/java/org/apache/maven/shared/utils/PathTool.java
index 95ee050..2284aa4 100644
--- a/src/main/java/org/apache/maven/shared/utils/PathTool.java
+++ b/src/main/java/org/apache/maven/shared/utils/PathTool.java
@@ -143,10 +143,12 @@ public class PathTool {
         String toPath = new File(newPath).getPath();
 
         // strip any leading slashes if its a windows path
-        if (toPath.matches("^\\[a-zA-Z]:")) {
+        if (toPath.length() > 2 && toPath.charAt(0) == '\\'
+                && Character.isLetter(toPath.charAt(1)) && toPath.charAt(2) == ':') {
             toPath = toPath.substring(1);
         }
-        if (fromPath.matches("^\\[a-zA-Z]:")) {
+        if (fromPath.length() > 2 && fromPath.charAt(0) == '\\'
+                && Character.isLetter(fromPath.charAt(1)) && fromPath.charAt(2) == ':') {
             fromPath = fromPath.substring(1);
         }