protected MavenProject getTopLevelProject()

in src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java [508:536]


    protected MavenProject getTopLevelProject(MavenProject project) throws MojoExecutionException {
        Site site = getSite(project);

        MavenProject parent = project;

        while (parent.getParent() != null) {
            MavenProject oldProject = parent;
            // MSITE-585, MNG-1943
            parent = parent.getParent();

            Site oldSite = site;

            try {
                site = getSite(parent);
            } catch (MojoExecutionException e) {
                return oldProject;
            }

            // MSITE-600
            URIPathDescriptor siteURI = new URIPathDescriptor(URIEncoder.encodeURI(site.getUrl()), "");
            URIPathDescriptor oldSiteURI = new URIPathDescriptor(URIEncoder.encodeURI(oldSite.getUrl()), "");

            if (!siteURI.sameSite(oldSiteURI.getBaseURI())) {
                return oldProject;
            }
        }

        return parent;
    }