[MNG-7796] Be lenient when using toRealPath (#1131)

This commit is contained in:
Guillaume Nodet 2023-05-31 09:40:48 +02:00 committed by GitHub
parent 27caa8c120
commit dd1922bd24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 6 deletions

View File

@ -349,12 +349,7 @@ public class MavenCli {
isAltFile = arg.equals(String.valueOf(CLIManager.ALTERNATE_POM_FILE)) || arg.equals("file");
}
}
try {
topDirectory = topDirectory.toAbsolutePath().toRealPath();
} catch (IOException e) {
System.err.println("Error computing real path from " + topDirectory + ": " + e.getMessage());
throw new ExitException(1);
}
topDirectory = getCanonicalPath(topDirectory);
cliRequest.topDirectory = topDirectory;
// We're very early in the process and we don't have the container set up yet,
// so we on searchAcceptableRootDirectory method to find us acceptable directory.
@ -1602,6 +1597,14 @@ public class MavenCli {
return interpolator;
}
private static Path getCanonicalPath(Path path) {
try {
return path.toRealPath();
} catch (IOException e) {
return getCanonicalPath(path.getParent()).resolve(path.getFileName());
}
}
static class ExitException extends Exception {
int exitCode;