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
     {
 

Reply via email to