in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java [127:188]
protected abstract void runLogic(
ReleaseDescriptor releaseDescriptor,
ReleaseEnvironment releaseEnvironment,
List<MavenProject> reactorProjects,
ReleaseResult result,
boolean simulating)
throws ReleaseScmCommandException, ReleaseExecutionException, ReleaseScmRepositoryException;
/**
* <p>performCheckins.</p>
*
* @param releaseDescriptor a {@link org.apache.maven.shared.release.config.ReleaseDescriptor} object
* @param releaseEnvironment a {@link org.apache.maven.shared.release.env.ReleaseEnvironment} object
* @param reactorProjects a {@link java.util.List} object
* @param message a {@link java.lang.String} object
* @throws org.apache.maven.shared.release.scm.ReleaseScmRepositoryException if any.
* @throws org.apache.maven.shared.release.ReleaseExecutionException if any.
* @throws org.apache.maven.shared.release.scm.ReleaseScmCommandException if any.
*/
protected void performCheckins(
ReleaseDescriptor releaseDescriptor,
ReleaseEnvironment releaseEnvironment,
List<MavenProject> reactorProjects,
String message)
throws ReleaseScmRepositoryException, ReleaseExecutionException, ReleaseScmCommandException {
getLogger().info("Checking in modified POMs...");
ScmRepository repository;
ScmProvider provider;
try {
repository = scmRepositoryConfigurator.getConfiguredRepository(
releaseDescriptor, releaseEnvironment.getSettings());
repository.getProviderRepository().setPushChanges(releaseDescriptor.isPushChanges());
repository.getProviderRepository().setWorkItem(releaseDescriptor.getWorkItem());
provider = scmRepositoryConfigurator.getRepositoryProvider(repository);
} 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.isCommitByProject()) {
for (MavenProject project : reactorProjects) {
List<File> pomFiles = createPomFiles(releaseDescriptor, project);
ScmFileSet fileSet = new ScmFileSet(project.getFile().getParentFile(), pomFiles);
checkin(provider, repository, fileSet, releaseDescriptor, message);
}
} else {
List<File> pomFiles = createPomFiles(releaseDescriptor, reactorProjects);
if (!pomFiles.isEmpty()) {
ScmFileSet fileSet = new ScmFileSet(new File(releaseDescriptor.getWorkingDirectory()), pomFiles);
checkin(provider, repository, fileSet, releaseDescriptor, message);
}
}
}