in src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java [296:325]
void setupBaseDirectory(InvocationRequest request) {
File baseDirectoryFromRequest = null;
if (request.getBaseDirectory() != null) {
baseDirectoryFromRequest = request.getBaseDirectory();
} else {
File pomFile = request.getPomFile();
if (pomFile != null) {
baseDirectoryFromRequest = pomFile.getParentFile();
}
}
if (baseDirectoryFromRequest != null) {
baseDirectory = baseDirectoryFromRequest;
}
if (baseDirectory == null) {
baseDirectory = new File(System.getProperty("user.dir"));
} else if (baseDirectory.isFile()) {
logger.warn(
"Specified base directory (" + baseDirectory + ") is a file." + " Using its parent directory...");
baseDirectory = baseDirectory.getParentFile();
}
try {
baseDirectory = baseDirectory.getCanonicalFile();
} catch (IOException e) {
logger.debug("Failed to canonicalize base directory: " + baseDirectory + ". Using as-is.", e);
}
}