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