in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java [92:134]
protected void restorePomBackup(
ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, MavenProject project)
throws ReleaseExecutionException, ReleaseFailureException {
File pomBackup = getPomBackup(project);
if (!pomBackup.exists()) {
throw new ReleaseExecutionException(
"Cannot restore from a missing backup POM: " + pomBackup.getAbsolutePath());
}
try {
ScmRepository scmRepository;
ScmProvider provider;
try {
scmRepository = scmRepositoryConfigurator.getConfiguredRepository(
releaseDescriptor, releaseEnvironment.getSettings());
provider = scmRepositoryConfigurator.getRepositoryProvider(scmRepository);
} catch (ScmRepositoryException e) {
throw new ReleaseScmRepositoryException(e.getMessage(), e.getValidationMessages());
} catch (NoSuchScmProviderException e) {
throw new ReleaseExecutionException("Unable to configure SCM repository: " + e.getMessage(), e);
}
if (releaseDescriptor.isScmUseEditMode() || provider.requiresEditMode()) {
EditScmResult result = provider.edit(
scmRepository,
new ScmFileSet(new File(releaseDescriptor.getWorkingDirectory()), project.getFile()));
if (!result.isSuccess()) {
throw new ReleaseScmCommandException("Unable to enable editing on the POM", result);
}
}
} catch (ScmException e) {
throw new ReleaseExecutionException("An error occurred enabling edit mode: " + e.getMessage(), e);
}
try {
FileUtils.copyFile(getPomBackup(project), ReleaseUtil.getStandardPom(project));
} catch (IOException e) {
throw new ReleaseExecutionException("Error restoring from backup POM: " + e.getMessage(), e);
}
}