protected void restorePomBackup()

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