private void transformProject()

in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java [240:283]


    private void transformProject(
            MavenProject project,
            ReleaseDescriptor releaseDescriptor,
            ReleaseEnvironment releaseEnvironment,
            boolean simulate,
            ReleaseResult result)
            throws ReleaseExecutionException, ReleaseFailureException {
        File pomFile = ReleaseUtil.getStandardPom(project);

        ModelETLRequest request = new ModelETLRequest();
        request.setProject(project);
        request.setReleaseDescriptor(releaseDescriptor);

        ModelETL etl = modelETLFactories.get(modelETL).newInstance(request);

        etl.extract(pomFile);

        ScmRepository scmRepository = null;
        ScmProvider provider = null;

        if (isUpdateScm()) {
            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);
            }
        }

        transformDocument(project, etl.getModel(), releaseDescriptor, scmRepository, result, simulate);

        File outputFile;
        if (simulate) {
            outputFile = new File(pomFile.getParentFile(), pomFile.getName() + "." + getPomSuffix());
        } else {
            outputFile = pomFile;
            prepareScm(pomFile, releaseDescriptor, scmRepository, provider);
        }
        etl.load(outputFile);
    }