This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-release.git
The following commit(s) were added to refs/heads/master by this push: new 8253083 changed error to warn if tag is not present at rollback; fixed typos 8253083 is described below commit 825308321e7ee6493d2c2eb985cf42976a964cd1 Author: Clemens Quoss <clem...@quoss.de> AuthorDate: Fri Dec 6 21:20:42 2019 +0100 changed error to warn if tag is not present at rollback; fixed typos --- .../shared/release/phase/RemoveScmTagPhase.java | 8 +++-- .../release/phase/RemoveScmTagPhaseTest.java | 41 ++++++++++++++++++++-- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java index 02f0870..cf41a9d 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java @@ -110,19 +110,21 @@ public class RemoveScmTagPhase "RemoveScmTagPhase :: scmUntagParameters tagName " + tagName ); getLogger().debug( "RemoveScmTagPhase :: scmUntagParameters message " + message ); - getLogger().debug( "ScmTagPhase :: fileSet " + fileSet ); + getLogger().debug( + "RemoveScmTagPhase :: fileSet " + fileSet ); } untagScmResult = provider.untag( repository, fileSet, commandParameters ); } catch ( ScmException e ) { - throw new ReleaseExecutionException( "An error is occurred in the remove tag process: " + throw new ReleaseExecutionException( "An error has occurred in the remove tag process: " + e.getMessage(), e ); } if ( !untagScmResult.isSuccess() ) { - throw new ReleaseScmCommandException( "Unable to remove tag ", untagScmResult ); + getLogger().warn( String.format( "Unable to remove tag%nProvider message: %s%nCommand output: %s", + untagScmResult.getProviderMessage(), untagScmResult.getCommandOutput() ) ); } releaseResult.setResultCode( ReleaseResult.SUCCESS ); diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveScmTagPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveScmTagPhaseTest.java index b18a66b..3633e3a 100644 --- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveScmTagPhaseTest.java +++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveScmTagPhaseTest.java @@ -36,6 +36,7 @@ import org.apache.maven.shared.release.scm.ReleaseScmCommandException; import org.apache.maven.shared.release.stubs.ScmManagerStub; import org.apache.maven.shared.release.util.ReleaseUtil; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -72,7 +73,7 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase builder.setPomFileName( rootProject.getFile().getName() ); ScmFileSet fileSet = new ScmFileSet( rootProject.getFile().getParentFile() ); - // mock, only real mather is the file set + // mock, only real matcher is the file set ScmProvider scmProviderMock = Mockito.mock( ScmProvider.class ); Mockito.when( scmProviderMock.untag( Matchers.isA( ScmRepository.class ), Matchers.argThat( new IsScmFileSetEquals( fileSet ) ), @@ -104,7 +105,7 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase builder.setPomFileName( rootProject.getFile().getName() ); ScmFileSet fileSet = new ScmFileSet( rootProject.getFile().getParentFile() ); - // mock, only real mather is the file set + // mock, only real matcher is the file set ScmProvider scmProviderMock = Mockito.mock( ScmProvider.class ); Mockito.when( scmProviderMock.untag( Matchers.isA( ScmRepository.class ), Matchers.argThat( new IsScmFileSetEquals( fileSet ) ), @@ -126,6 +127,7 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase public ExpectedException exceptionRule = ExpectedException.none(); @Test + @Ignore( "We changed the behaviour to warning instead of error." ) public void testExecuteError() throws Exception { @@ -139,7 +141,7 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase builder.setPomFileName( rootProject.getFile().getName() ); ScmFileSet fileSet = new ScmFileSet( rootProject.getFile().getParentFile() ); - // mock, only real mather is the file set + // mock, only real matcher is the file set ScmProvider scmProviderMock = Mockito.mock( ScmProvider.class ); Mockito.when( scmProviderMock.untag( Matchers.isA( ScmRepository.class ), Matchers.argThat( new IsScmFileSetEquals( fileSet ) ), @@ -160,6 +162,39 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase } @Test + public void testExecuteNoError() throws Exception + { + + // prepare + ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder(); + builder.setScmReleaseLabel( "release-label" ); + builder.setScmSourceUrl( "scm-url" ); + List<MavenProject> reactorProjects = createReactorProjects(); + MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects ); + builder.setWorkingDirectory( getPath( rootProject.getFile().getParentFile() ) ); + builder.setPomFileName( rootProject.getFile().getName() ); + ScmFileSet fileSet = new ScmFileSet( rootProject.getFile().getParentFile() ); + + // mock, only real matcher is the file set + ScmProvider scmProviderMock = Mockito.mock( ScmProvider.class ); + Mockito.when( scmProviderMock.untag( Matchers.isA( ScmRepository.class ), + Matchers.argThat( new IsScmFileSetEquals( fileSet ) ), + Matchers.isA( CommandParameters.class ) ) ) + .thenReturn( new UntagScmResult( "command-line", "provider-message", "command-output", false ) ); + ScmManagerStub stub = ( ScmManagerStub ) lookup( ScmManager.class ); + stub.setScmProvider( scmProviderMock ); + + // execute + ReleaseResult actual = phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), + new DefaultReleaseEnvironment(), reactorProjects ); + + // verify + Assert.assertEquals( 0, actual.getResultCode() ); + + + } + + @Test public void testSimulateOutput() throws Exception {