public ReleaseResult execute()

in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractCheckPomPhase.java [65:106]


    public ReleaseResult execute(
            ReleaseDescriptor releaseDescriptor,
            ReleaseEnvironment releaseEnvironment,
            List<MavenProject> reactorProjects)
            throws ReleaseExecutionException, ReleaseFailureException {
        ReleaseResult result = new ReleaseResult();

        // Currently, we don't deal with multiple SCM locations in a multiproject
        if (scmRequired) {
            if (StringUtils.isEmpty(releaseDescriptor.getScmSourceUrl())) {
                throw new ReleaseFailureException(
                        "Missing required setting: scm connection or developerConnection must be specified.");
            }

            try {
                scmRepositoryConfigurator.getConfiguredRepository(releaseDescriptor, releaseEnvironment.getSettings());
            } catch (ScmRepositoryException e) {
                throw new ReleaseScmRepositoryException(e.getMessage(), e.getValidationMessages());
            } catch (NoSuchScmProviderException e) {
                throw new ReleaseFailureException(
                        "The provider given in the SCM URL could not be found: " + e.getMessage());
            }
        }

        boolean containsSnapshotProjects = false;

        for (MavenProject project : reactorProjects) {
            if (ArtifactUtils.isSnapshot(project.getVersion())) {
                containsSnapshotProjects = true;

                break;
            }
        }

        if (snapshotsRequired && !containsSnapshotProjects && !releaseDescriptor.isBranchCreation()) {
            throw new ReleaseFailureException("You don't have a SNAPSHOT project in the reactor projects list.");
        }

        result.setResultCode(ReleaseResult.SUCCESS);

        return result;
    }