in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java [333:419]
private void resolveSnapshots(
Set<Artifact> projectDependencies,
Set<Artifact> reportDependencies,
Set<Artifact> extensionDependencies,
Set<Artifact> pluginDependencies,
ReleaseDescriptor releaseDescriptor)
throws ReleaseExecutionException {
try {
String autoResolveSnapshots = releaseDescriptor.getAutoResolveSnapshots();
if (resolveSnapshot == null) {
prompter.get().showMessage(RESOLVE_SNAPSHOT_MESSAGE);
if (autoResolveSnapshots != null) {
resolveSnapshot = "yes";
prompter.get().showMessage(RESOLVE_SNAPSHOT_PROMPT + " " + resolveSnapshot);
} else {
resolveSnapshot = prompter.get().prompt(RESOLVE_SNAPSHOT_PROMPT, Arrays.asList("yes", "no"), "no");
}
}
if (resolveSnapshot.toLowerCase(Locale.ENGLISH).startsWith("y")) {
if (resolveSnapshotType == null) {
prompter.get().showMessage(RESOLVE_SNAPSHOT_TYPE_MESSAGE);
int defaultAnswer = -1;
if (autoResolveSnapshots != null) {
if ("all".equalsIgnoreCase(autoResolveSnapshots)) {
defaultAnswer = 0;
} else if ("dependencies".equalsIgnoreCase(autoResolveSnapshots)) {
defaultAnswer = 1;
} else if ("plugins".equalsIgnoreCase(autoResolveSnapshots)) {
defaultAnswer = 2;
} else if ("reports".equalsIgnoreCase(autoResolveSnapshots)) {
defaultAnswer = 3;
} else if ("extensions".equalsIgnoreCase(autoResolveSnapshots)) {
defaultAnswer = 4;
} else {
try {
defaultAnswer = Integer.parseInt(autoResolveSnapshots);
} catch (NumberFormatException e) {
throw new ReleaseExecutionException(e.getMessage(), e);
}
}
}
if (defaultAnswer >= 0 && defaultAnswer <= 4) {
prompter.get().showMessage(RESOLVE_SNAPSHOT_TYPE_PROMPT + " " + autoResolveSnapshots);
resolveSnapshotType = Integer.toString(defaultAnswer);
} else {
resolveSnapshotType = prompter.get()
.prompt(RESOLVE_SNAPSHOT_TYPE_PROMPT, Arrays.asList("0", "1", "2", "3"), "1");
}
}
switch (Integer.parseInt(resolveSnapshotType.toLowerCase(Locale.ENGLISH))) {
// all
case 0:
processSnapshot(projectDependencies, releaseDescriptor, autoResolveSnapshots);
processSnapshot(pluginDependencies, releaseDescriptor, autoResolveSnapshots);
processSnapshot(reportDependencies, releaseDescriptor, autoResolveSnapshots);
processSnapshot(extensionDependencies, releaseDescriptor, autoResolveSnapshots);
break;
// project dependencies
case 1:
processSnapshot(projectDependencies, releaseDescriptor, autoResolveSnapshots);
break;
// plugins
case 2:
processSnapshot(pluginDependencies, releaseDescriptor, autoResolveSnapshots);
break;
// reports
case 3:
processSnapshot(reportDependencies, releaseDescriptor, autoResolveSnapshots);
break;
// extensions
case 4:
processSnapshot(extensionDependencies, releaseDescriptor, autoResolveSnapshots);
break;
default:
}
}
} catch (PrompterException | VersionParseException e) {
throw new ReleaseExecutionException(e.getMessage(), e);
}
}