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