Repository navigation
[Backport maven-3.10.x] [MNG-8056] Fix -f/-s parameters failing with absolute Cygwin paths (fix #10810) - #13593
Open
arturobernalg wants to merge 1 commit into
Conversation
gnodet-bot
approved these changes
Oct 17, 2026
gnodet-bot
left a comment
There was a problem hiding this comment.
Correct, well-tested backport of MNG-8056 Cygwin path conversion to maven-3.10.x. The argument-walking logic is sound, edge cases (relative paths, MinGW passthrough) are handled, and the tests are thorough.
One cosmetic note below — harmless dead code in the case pattern.
This review was generated by an AI agent, Hermès on behalf of @gnodet.
apache#10810) Under Cygwin the JVM is a native Windows process and cannot resolve POSIX paths such as /cygdrive/c/temp/pom.xml. bin/mvn now converts absolute POSIX paths given to -f/--file, -s/--settings, -gs/--global-settings, -t/--toolchains, -gt/--global-toolchains, -ps/--project-settings, -is/--install-settings, -it/--install-toolchains and -l/--log-file with cygpath --windows, both as separate and as --flag=value arguments. MinGW and MSYS2 are not touched, and relative paths are left as they are. Backport of apache#13239 to maven-3.10.x.
arturobernalg
force-pushed
the
backport/13239-to-maven-3.10.x
branch
from
October 17, 2026 10:18
54d5f71 to
9321e7d
Compare
Member
Author
|
Dropped the options that do not exist on this branch ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #13239 to maven-3.10.x. It is already on master and on maven-4.0.x (#13248).
Under Cygwin the JVM is a native Windows process and cannot resolve POSIX paths such as
/cygdrive/c/temp/pom.xml, somvn -f /cygdrive/c/temp/pom.xml validateandmvn -s /cygdrive/c/.../settings.xmlfail (#10810, reported against 3.9.6).bin/mvnalready converts its own paths withcygpath, but not the ones given as arguments. It now converts the absolute POSIX path of-f/--file,-s/--settings,-gs/--global-settings,-t/--toolchains,-gt/--global-toolchains,-ps/--project-settings,-is/--install-settings,-it/--install-toolchainsand-l/--log-file, both as separate arguments and as--flag=value. MinGW and MSYS2 are not touched, and relative paths and Windows paths are left as they are.The patch did not apply as it was, because the launcher differs on this branch (the
MAVEN_ARGShandling is different, and-afdoes not exist in 3.x), so the block was placed after theMAVEN_ARGSprocessing and the-af/--at-fileflag was left out. The test scripttest-mvn-path-conversion.shhas the same cases as on master:-f,-sand--file=with a/cygdrivepath, a relative path, and MinGW. It passes, and the three Cygwin cases fail without the change. I could not run it on a real Cygwin, the script uses acygpathstub, and I did not run the integration tests.To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
check one of the following: