private void checkProject()

in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java [126:185]


    private void checkProject(MavenProject project, ReleaseDescriptor releaseDescriptor)
            throws ReleaseFailureException, ReleaseExecutionException {
        Map<String, Artifact> artifactMap = ArtifactUtils.artifactMapByVersionlessId(project.getArtifacts());

        Set<Artifact> usedSnapshotDependencies = new HashSet<>();

        if (project.getParentArtifact() != null) {
            if (checkArtifact(project.getParentArtifact(), artifactMap, releaseDescriptor)) {
                usedSnapshotDependencies.add(project.getParentArtifact());
            }
        }

        Set<Artifact> dependencyArtifacts = project.getDependencyArtifacts();
        usedSnapshotDependencies.addAll(checkDependencies(releaseDescriptor, artifactMap, dependencyArtifacts));

        // @todo check dependencyManagement

        Set<Artifact> pluginArtifacts = project.getPluginArtifacts();
        Set<Artifact> usedSnapshotPlugins = checkPlugins(releaseDescriptor, artifactMap, pluginArtifacts);

        // @todo check pluginManagement

        Set<Artifact> reportArtifacts = project.getReportArtifacts();
        Set<Artifact> usedSnapshotReports = checkReports(releaseDescriptor, artifactMap, reportArtifacts);

        Set<Artifact> extensionArtifacts = project.getExtensionArtifacts();
        Set<Artifact> usedSnapshotExtensions = checkExtensions(releaseDescriptor, artifactMap, extensionArtifacts);

        // @todo check profiles

        if (!usedSnapshotDependencies.isEmpty()
                || !usedSnapshotReports.isEmpty()
                || !usedSnapshotExtensions.isEmpty()
                || !usedSnapshotPlugins.isEmpty()) {
            if (releaseDescriptor.isInteractive() || null != releaseDescriptor.getAutoResolveSnapshots()) {
                resolveSnapshots(
                        usedSnapshotDependencies,
                        usedSnapshotReports,
                        usedSnapshotExtensions,
                        usedSnapshotPlugins,
                        releaseDescriptor);
            }

            if (!usedSnapshotDependencies.isEmpty()
                    || !usedSnapshotReports.isEmpty()
                    || !usedSnapshotExtensions.isEmpty()
                    || !usedSnapshotPlugins.isEmpty()) {
                StringBuilder message = new StringBuilder();

                printSnapshotDependencies(usedSnapshotDependencies, message);
                printSnapshotDependencies(usedSnapshotReports, message);
                printSnapshotDependencies(usedSnapshotExtensions, message);
                printSnapshotDependencies(usedSnapshotPlugins, message);
                message.append("in project '" + project.getName() + "' (" + project.getId() + ")");

                throw new ReleaseFailureException(
                        "Can't release project due to non released dependencies :\n" + message);
            }
        }
    }