in maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java [66:128]
public ReleaseResult execute(
ReleaseDescriptor releaseDescriptor,
ReleaseEnvironment releaseEnvironment,
List<MavenProject> reactorProjects)
throws ReleaseExecutionException, ReleaseFailureException {
ReleaseResult releaseResult = new ReleaseResult();
validateConfiguration(releaseDescriptor);
logInfo(releaseResult, "Removing tag with the label " + releaseDescriptor.getScmReleaseLabel() + " ...");
ReleaseDescriptor basedirAlignedReleaseDescriptor =
ReleaseUtil.createBasedirAlignedReleaseDescriptor(releaseDescriptor, reactorProjects);
ScmRepository repository;
ScmProvider provider;
try {
repository = scmRepositoryConfigurator.getConfiguredRepository(
basedirAlignedReleaseDescriptor.getScmSourceUrl(),
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);
}
UntagScmResult untagScmResult;
try {
ScmFileSet fileSet = new ScmFileSet(new File(basedirAlignedReleaseDescriptor.getWorkingDirectory()));
String tagName = releaseDescriptor.getScmReleaseLabel();
String message = releaseDescriptor.getScmCommentPrefix() + "remove tag " + tagName;
CommandParameters commandParameters = new CommandParameters();
commandParameters.setString(CommandParameter.TAG_NAME, tagName);
commandParameters.setString(CommandParameter.MESSAGE, message);
if (getLogger().isDebugEnabled()) {
getLogger().debug("RemoveScmTagPhase :: scmUntagParameters tagName " + tagName);
getLogger().debug("RemoveScmTagPhase :: scmUntagParameters message " + message);
getLogger().debug("RemoveScmTagPhase :: fileSet " + fileSet);
}
untagScmResult = provider.untag(repository, fileSet, commandParameters);
} catch (ScmException e) {
throw new ReleaseExecutionException(
"An error has occurred in the remove tag process: " + e.getMessage(), e);
}
if (!untagScmResult.isSuccess()) {
getLogger()
.warn(String.format(
"Unable to remove tag%nProvider message: %s%nCommand output: %s",
untagScmResult.getProviderMessage(), untagScmResult.getCommandOutput()));
}
releaseResult.setResultCode(ReleaseResult.SUCCESS);
return releaseResult;
}