private String resolveSuggestedVersion()

in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractMapVersionsPhase.java [315:354]


    private String resolveSuggestedVersion(
            String baseVersion, ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment)
            throws PolicyException, VersionParseException {
        String policyId = releaseDescriptor.getProjectVersionPolicyId();
        VersionPolicy policy = versionPolicies.get(policyId);
        if (policy == null) {
            throw new PolicyException("Policy '" + policyId + "' is unknown, available: " + versionPolicies.keySet());
        }

        VersionPolicyRequest request = new VersionPolicyRequest().setVersion(baseVersion);

        if (releaseDescriptor.getProjectVersionPolicyConfig() != null) {
            request.setConfig(releaseDescriptor.getProjectVersionPolicyConfig().toString());
        }
        request.setWorkingDirectory(releaseDescriptor.getWorkingDirectory());

        if (scmRepositoryConfigurator != null && releaseDescriptor.getScmSourceUrl() != null) {
            try {
                ScmRepository repository = scmRepositoryConfigurator.getConfiguredRepository(
                        releaseDescriptor, releaseEnvironment.getSettings());

                ScmProvider provider = scmRepositoryConfigurator.getRepositoryProvider(repository);

                request.setScmRepository(repository);
                request.setScmProvider(provider);
            } catch (ScmRepositoryException | NoSuchScmProviderException e) {
                Logger logger = getLogger();
                if (logger.isWarnEnabled()) {
                    logger.warn("Next Version will NOT be based on the version control: {}", e.getMessage());
                } else {
                    if (logger.isDebugEnabled()) {
                        logger.warn("Next Version will NOT be based on the version control", e);
                    }
                }
            }
        }
        return convertToSnapshot
                ? policy.getDevelopmentVersion(request).getVersion()
                : policy.getReleaseVersion(request).getVersion();
    }