public void execute()

in maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java [155:209]


    public void execute() throws MojoExecutionException, MojoFailureException {
        if (providerImplementations != null) {
            for (Map.Entry<String, String> providerEntry : providerImplementations.entrySet()) {
                getLog().info("Change the default '" + providerEntry.getKey() + "' provider implementation to '"
                        + providerEntry.getValue() + "'.");
                scmManager.setScmProviderImplementation(providerEntry.getKey(), providerEntry.getValue());
            }
        }

        // goals may be split into multiple lines in configuration.
        // Let's build a single line command
        if (goals != null) {
            goals = StringUtils.join(StringUtils.split(goals), " ");
        }

        try {
            setDeploymentRepository();
            // Note that the working directory here is not the same as in the release configuration, so don't reuse that
            ReleaseDescriptorBuilder releaseDescriptor = createReleaseDescriptor();
            if (connectionUrl != null) {
                releaseDescriptor.setScmSourceUrl(connectionUrl);
            }

            if (username != null) {
                releaseDescriptor.setScmUsername(username);
            }

            if (password != null) {
                releaseDescriptor.setScmPassword(password);
            }

            releaseDescriptor.setScmShallowClone(scmShallowClone);

            releaseDescriptor.setLocalCheckout(localCheckout);

            releaseDescriptor.setCheckoutDirectory(workingDirectory.getAbsolutePath());
            releaseDescriptor.setUseReleaseProfile(useReleaseProfile);

            createGoals();
            releaseDescriptor.setPerformGoals(goals);

            ReleasePerformRequest performRequest = new ReleasePerformRequest();
            performRequest.setReleaseDescriptorBuilder(releaseDescriptor);
            performRequest.setReleaseEnvironment(getReleaseEnvironment());
            performRequest.setReactorProjects(getReactorProjects());
            performRequest.setReleaseManagerListener(new DefaultReleaseManagerListener(getLog(), dryRun));
            performRequest.setDryRun(dryRun);

            releaseManager.perform(performRequest);
        } catch (ReleaseExecutionException e) {
            throw new MojoExecutionException(e.getMessage(), e);
        } catch (ReleaseFailureException e) {
            throw new MojoFailureException(e.getMessage(), e);
        }
    }