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