void setupBaseDirectory()

in src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java [298:327]


    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);
        }
    }