private void resolveSnapshots()

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