in src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java [263:294]
protected void setPomLocation(InvocationRequest request, Commandline cli) {
File pom = request.getPomFile();
String pomFilename = request.getPomFileName();
if (pom == null) {
if (pomFilename != null) {
pom = new File(baseDirectory, pomFilename);
} else {
pom = new File(baseDirectory, "pom.xml");
}
}
try {
pom = pom.getCanonicalFile();
} catch (IOException e) {
logger.debug("Failed to canonicalize the POM path: " + pom + ". Using as-is.", e);
}
if (pom.getParentFile().equals(baseDirectory)) {
// pom in project workspace
if (!"pom.xml".equals(pom.getName())) {
logger.debug("Specified POM file is not named 'pom.xml'. "
+ "Using the '-f' command-line option to accommodate non-standard filename...");
cli.createArg().setValue("-f");
cli.createArg().setValue(pom.getName());
}
} else {
cli.createArg().setValue("-f");
cli.createArg().setValue(pom.getPath());
}
}