You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2021/04/02 11:55:08 UTC

[maven-release] branch MRELEASE-1062 created (now bf4bc25)

This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a change to branch MRELEASE-1062
in repository https://gitbox.apache.org/repos/asf/maven-release.git.


      at bf4bc25  [MRELEASE-1062] Require Java 8

This branch includes the following new commits:

     new bf4bc25  [MRELEASE-1062] Require Java 8

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[maven-release] 01/01: [MRELEASE-1062] Require Java 8

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MRELEASE-1062
in repository https://gitbox.apache.org/repos/asf/maven-release.git

commit bf4bc25624ef316a9d39a9978cb920e5fe75da34
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Apr 2 13:54:44 2021 +0200

    [MRELEASE-1062] Require Java 8
---
 .../shared/release/DefaultReleaseManagerTest.java  |  9 ++--
 .../release/exec/AbstractMavenExecutorTest.java    | 52 +++++++++++-----------
 .../release/exec/CommandLineFactoryTest.java       |  2 -
 .../release/exec/ForkedMavenExecutorTest.java      | 10 ++---
 .../phase/CheckDependencySnapshotsPhaseTest.java   |  6 +--
 .../release/phase/IsScmBranchParametersEquals.java |  1 -
 .../shared/release/phase/MapVersionsPhaseTest.java | 20 ++++-----
 .../release/phase/RemoveScmTagPhaseTest.java       | 49 +++++++++-----------
 .../release/phase/RunCompleteGoalsPhaseTest.java   | 16 +++----
 .../release/phase/RunPerformGoalsPhaseTest.java    | 22 ++++-----
 .../release/phase/RunPrepareGoalsPhaseTest.java    | 16 +++----
 .../phase/ScmCommitPreparationPhaseTest.java       |  8 ++--
 .../plugins/release/PrepareReleaseMojoTest.java    |  5 +--
 pom.xml                                            |  2 +-
 14 files changed, 100 insertions(+), 118 deletions(-)

diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
index bd11e2c..a9e5da5 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
@@ -19,8 +19,8 @@ package org.apache.maven.shared.release;
  * under the License.
  */
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
@@ -30,7 +30,6 @@ import static org.mockito.Mockito.when;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -52,11 +51,9 @@ import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
 import org.apache.maven.shared.release.config.ReleaseDescriptorStore;
 import org.apache.maven.shared.release.config.ReleaseDescriptorStoreException;
 import org.apache.maven.shared.release.config.ReleaseDescriptorStoreStub;
-import org.apache.maven.shared.release.config.ReleaseUtils;
 import org.apache.maven.shared.release.env.DefaultReleaseEnvironment;
 import org.apache.maven.shared.release.phase.ReleasePhase;
 import org.apache.maven.shared.release.phase.ReleasePhaseStub;
-import org.apache.maven.shared.release.phase.RunPerformGoalsPhase;
 import org.apache.maven.shared.release.scm.ReleaseScmCommandException;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
@@ -596,7 +593,7 @@ public class DefaultReleaseManagerTest
         verify( managerListener, times( 5 ) ).phaseEnd();
 
         // not part of actual test, but required to confirm 'no more interactions'
-        verify( managerListener ).goalStart( anyString(), any( List.class ) );
+        verify( managerListener ).goalStart( anyString(), any() );
         verify( managerListener ).goalEnd();
 
         verifyNoMoreInteractions( managerListener );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/AbstractMavenExecutorTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/AbstractMavenExecutorTest.java
index 5b7f904..79bef7a 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/AbstractMavenExecutorTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/AbstractMavenExecutorTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.shared.release.exec;
  * under the License.
  */
 
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Matchers.isNull;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -31,12 +31,12 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import junit.framework.TestCase;
-
 import org.apache.maven.shared.release.ReleaseResult;
 import org.apache.maven.shared.release.env.DefaultReleaseEnvironment;
 import org.apache.maven.shared.release.env.ReleaseEnvironment;
 
+import junit.framework.TestCase;
+
 public class AbstractMavenExecutorTest
     extends TestCase
 {
@@ -47,51 +47,51 @@ public class AbstractMavenExecutorTest
         AbstractMavenExecutor executor = spy( new AbstractMavenExecutorSpy() );
 
         executor.executeGoals( null, (String) null, new DefaultReleaseEnvironment(), true, null, null, null );
-        verify( executor ).executeGoals( isNull( File.class ), eq( new ArrayList<String>() ),
-                                         isA( ReleaseEnvironment.class ), eq( true ), isNull( String.class ),
-                                         isNull( String.class ), isNull( ReleaseResult.class ) );
+        verify( executor ).executeGoals( isNull(), eq( new ArrayList<String>() ),
+                                         isA( ReleaseEnvironment.class ), eq( true ), isNull(),
+                                         isNull(), isNull() );
         reset( executor );
 
         executor.executeGoals( null, " clean verify ", new DefaultReleaseEnvironment(), true, null, null, null );
-        verify( executor ).executeGoals( isNull( File.class ),
+        verify( executor ).executeGoals( isNull(),
                                          eq( Arrays.asList( "clean", "verify" ) ),
-                                         isA( ReleaseEnvironment.class ), eq( true ), isNull( String.class ),
-                                         isNull( String.class ), isNull( ReleaseResult.class ) );
+                                         isA( ReleaseEnvironment.class ), eq( true ), isNull(),
+                                         isNull(), isNull() );
         reset( executor );
 
         executor.executeGoals( null, ",clean,verify,", new DefaultReleaseEnvironment(), true, null, null, null );
-        verify( executor ).executeGoals( isNull( File.class ),
+        verify( executor ).executeGoals( isNull(),
                                          eq( Arrays.asList( "clean", "verify" ) ),
-                                         isA( ReleaseEnvironment.class ), eq( true ), isNull( String.class ),
-                                         isNull( String.class ), isNull( ReleaseResult.class ) );
+                                         isA( ReleaseEnvironment.class ), eq( true ), isNull(),
+                                         isNull(), isNull() );
         reset( executor );
 
         executor.executeGoals( null, "\nclean\nverify\n", new DefaultReleaseEnvironment(), true, null, null, null );
-        verify( executor ).executeGoals( isNull( File.class ),
+        verify( executor ).executeGoals( isNull(),
                                          eq( Arrays.asList( "clean", "verify" ) ),
-                                         isA( ReleaseEnvironment.class ), eq( true ), isNull( String.class ),
-                                         isNull( String.class ), isNull( ReleaseResult.class ) );
+                                         isA( ReleaseEnvironment.class ), eq( true ), isNull(),
+                                         isNull(), isNull() );
         reset( executor );
 
         executor.executeGoals( null, "\rclean\rverify\r", new DefaultReleaseEnvironment(), true, null, null, null );
-        verify( executor ).executeGoals( isNull( File.class ),
+        verify( executor ).executeGoals( isNull(),
                                          eq( Arrays.asList( "clean", "verify" ) ),
-                                         isA( ReleaseEnvironment.class ), eq( true ), isNull( String.class ),
-                                         isNull( String.class ), isNull( ReleaseResult.class ) );
+                                         isA( ReleaseEnvironment.class ), eq( true ), isNull(),
+                                         isNull(), isNull() );
         reset( executor );
 
         executor.executeGoals( null, "\r\nclean\r\nverify\r\n", new DefaultReleaseEnvironment(), true, null, null, null );
-        verify( executor ).executeGoals( isNull( File.class ),
+        verify( executor ).executeGoals( isNull(),
                                          eq( Arrays.asList( "clean", "verify" ) ),
-                                         isA( ReleaseEnvironment.class ), eq( true ), isNull( String.class ),
-                                         isNull( String.class ), isNull( ReleaseResult.class ) );
+                                         isA( ReleaseEnvironment.class ), eq( true ), isNull(),
+                                         isNull(), isNull() );
         reset( executor );
 
         executor.executeGoals( null, "\tclean\tverify\t", new DefaultReleaseEnvironment(), true, null, null, null );
-        verify( executor ).executeGoals( isNull( File.class ),
+        verify( executor ).executeGoals( isNull(),
                                          eq( Arrays.asList( "clean", "verify" ) ),
-                                         isA( ReleaseEnvironment.class ), eq( true ), isNull( String.class ),
-                                         isNull( String.class ), isNull( ReleaseResult.class ) );
+                                         isA( ReleaseEnvironment.class ), eq( true ), isNull(),
+                                         isNull(), isNull() );
         reset( executor );
     }
 
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/CommandLineFactoryTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/CommandLineFactoryTest.java
index 4bdedb0..19e15c7 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/CommandLineFactoryTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/CommandLineFactoryTest.java
@@ -22,8 +22,6 @@ package org.apache.maven.shared.release.exec;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.cli.Commandline;
 
-import java.util.Locale;
-
 /**
  * Test the command line factory.
  *
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/ForkedMavenExecutorTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/ForkedMavenExecutorTest.java
index 8b65593..a159df2 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/ForkedMavenExecutorTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/ForkedMavenExecutorTest.java
@@ -104,7 +104,7 @@ public class ForkedMavenExecutorTest
         verify( mockProcess ).waitFor();
         verify( commandLineMock ).setWorkingDirectory( workingDirectory.getAbsolutePath() );
         verify( commandLineMock ).addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
-        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull( String.class ) );
+        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull() );
         verify( commandLineMock ).execute();
         verify( commandLineMock, times( 3 ) ).createArg();
         verify( valueArgument ).setValue( "clean" );
@@ -146,7 +146,7 @@ public class ForkedMavenExecutorTest
         verify( mockProcess ).waitFor();
         verify( commandLineMock ).setWorkingDirectory( workingDirectory.getAbsolutePath() );
         verify( commandLineMock ).addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
-        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull( String.class ) );
+        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull() );
         verify( commandLineMock ).execute();
         verify( commandLineMock, times( 5 ) ).createArg();
         verify( argMock ).setValue( "clean" );
@@ -191,7 +191,7 @@ public class ForkedMavenExecutorTest
         verify( mockProcess ).waitFor();
         verify( commandLineMock ).setWorkingDirectory( workingDirectory.getAbsolutePath() );
         verify( commandLineMock ).addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
-        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull( String.class ) );
+        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull() );
         verify( commandLineMock ).execute();
         verify( commandLineMock, times( 4 ) ).createArg();
         verify( argMock ).setValue( "clean" );
@@ -246,7 +246,7 @@ public class ForkedMavenExecutorTest
 //        verify( mockProcess ).exitValue();
         verify( commandLineMock ).setWorkingDirectory( workingDirectory.getAbsolutePath() );
         verify( commandLineMock ).addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
-        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull( String.class ) );
+        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull() );
         verify( commandLineMock ).execute();
         verify( commandLineMock, times( 3 ) ).createArg();
         verify( argMock ).setValue( "clean" );
@@ -289,7 +289,7 @@ public class ForkedMavenExecutorTest
         // verify
         verify( commandLineMock ).setWorkingDirectory( workingDirectory.getAbsolutePath() );
         verify( commandLineMock ).addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
-        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull( String.class ) );
+        verify( commandLineMock ).addEnvironment( eq( "M2_HOME" ), isNull() );
         verify( commandLineMock ).execute();
         verify( commandLineMock, times( 3 ) ).createArg();
         verify( argMock ).setValue( "clean" );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java
index 3e80107..7d53434 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java
@@ -22,16 +22,14 @@ package org.apache.maven.shared.release.phase;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 
 import org.apache.maven.project.MavenProject;
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java
index 537a238..88c0497 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java
@@ -19,7 +19,6 @@ package org.apache.maven.shared.release.phase;
  * under the License.
  */
 
-import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmBranchParameters;
 
 import org.mockito.ArgumentMatcher;
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java
index 338d979..b38f4ce 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java
@@ -19,12 +19,14 @@ package org.apache.maven.shared.release.phase;
  * under the License.
  */
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Matchers.startsWith;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.ArgumentMatchers.startsWith;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -46,9 +48,7 @@ import org.apache.maven.shared.release.versions.VersionParseException;
 import org.codehaus.plexus.components.interactivity.Prompter;
 import org.codehaus.plexus.components.interactivity.PrompterException;
 import org.hamcrest.CoreMatchers;
-import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
@@ -66,9 +66,6 @@ public class MapVersionsPhaseTest
 
     private static final String TEST_MAP_RELEASE_VERSIONS = "test-map-release-versions";
 
-    @Rule
-    public ExpectedException expectedException = ExpectedException.none();
-
     @Mock
     private Prompter mockPrompter;
 
@@ -2125,9 +2122,6 @@ public class MapVersionsPhaseTest
     public void testNonExistentVersionPolicy()
         throws Exception
     {
-        expectedException.expect( ReleaseExecutionException.class );
-        expectedException.expectCause( CoreMatchers.isA( PolicyException.class ) );
-
         // prepare
         MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
 
@@ -2137,7 +2131,9 @@ public class MapVersionsPhaseTest
         builder.setProjectVersionPolicyId( "UNKNOWN" );
 
         // test
-        phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
+        ReleaseExecutionException e = assertThrows( ReleaseExecutionException.class, 
+                () -> phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects ) );
+        assertThat( e.getCause(), CoreMatchers.instanceOf( PolicyException.class ) );
     }
     
     @Test
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 e4dab0c..5821d8c 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
@@ -19,6 +19,12 @@ package org.apache.maven.shared.release.phase;
  * under the License.
  */
 
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertThrows;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.ArgumentMatchers.argThat;
+
 import java.util.List;
 
 import org.apache.maven.project.MavenProject;
@@ -37,10 +43,7 @@ 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;
-import org.mockito.Matchers;
 import org.mockito.Mockito;
 
 /**
@@ -75,9 +78,9 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase
 
         // 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 ) ) )
+        Mockito.when( scmProviderMock.untag( isA( ScmRepository.class ),
+                argThat( new IsScmFileSetEquals( fileSet ) ),
+                isA( CommandParameters.class ) ) )
                 .thenReturn( new UntagScmResult( "...", "...", "...", true ) );
         ScmManagerStub stub = ( ScmManagerStub ) lookup( ScmManager.class );
         stub.setScmProvider( scmProviderMock );
@@ -107,9 +110,9 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase
 
         // 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 ) ) )
+        Mockito.when( scmProviderMock.untag( isA( ScmRepository.class ),
+                argThat( new IsScmFileSetEquals( fileSet ) ),
+                isA( CommandParameters.class ) ) )
                 .thenReturn( new UntagScmResult( "...", "...", "...", true ) );
         ScmManagerStub stub = ( ScmManagerStub ) lookup( ScmManager.class );
         stub.setScmProvider( scmProviderMock );
@@ -123,9 +126,6 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase
 
     }
 
-    @Rule
-    public ExpectedException exceptionRule = ExpectedException.none();
-
     @Test
     @Ignore( "We changed the behaviour to warning instead of error." )
     public void testExecuteError() throws Exception
@@ -143,22 +143,18 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase
 
         // 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 ) ) )
+        Mockito.when( scmProviderMock.untag( isA( ScmRepository.class ),
+                argThat( new IsScmFileSetEquals( fileSet ) ),
+                isA( CommandParameters.class ) ) )
                 .thenReturn( new UntagScmResult( "command-line", "provider-message", "command-output", false ) );
         ScmManagerStub stub = ( ScmManagerStub ) lookup( ScmManager.class );
         stub.setScmProvider( scmProviderMock );
 
-        // set up exception rule
-        exceptionRule.expect( ReleaseScmCommandException.class );
-        exceptionRule.expectMessage(
-                "Unable to remove tag \nProvider message:\nprovider-message\nCommand output:\ncommand-output" );
-
         // execute
-        phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ),
-                new DefaultReleaseEnvironment(), reactorProjects );
-
+        ReleaseScmCommandException e = assertThrows( ReleaseScmCommandException.class, 
+                     () -> phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects ) );
+        
+        assertThat( e.getMessage(), equalTo( "Unable to remove tag \nProvider message:\nprovider-message\nCommand output:\ncommand-output" ) );
     }
 
     @Test
@@ -177,9 +173,9 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase
 
         // 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 ) ) )
+        Mockito.when( scmProviderMock.untag( isA( ScmRepository.class ),
+                argThat( new IsScmFileSetEquals( fileSet ) ),
+                isA( CommandParameters.class ) ) )
                 .thenReturn( new UntagScmResult( "command-line", "provider-message", "command-output", false ) );
         ScmManagerStub stub = ( ScmManagerStub ) lookup( ScmManager.class );
         stub.setScmProvider( scmProviderMock );
@@ -235,7 +231,6 @@ public class RemoveScmTagPhaseTest extends AbstractReleaseTestCase
                 new DefaultReleaseEnvironment(), reactorProjects );
 
         Assert.assertEquals( 0, actual.getResultCode() );
-
     }
 
     private List<MavenProject> createReactorProjects() throws Exception
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunCompleteGoalsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunCompleteGoalsPhaseTest.java
index ee520f3..eb5e8ec 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunCompleteGoalsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunCompleteGoalsPhaseTest.java
@@ -94,7 +94,7 @@ public class RunCompleteGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
@@ -119,7 +119,7 @@ public class RunCompleteGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
@@ -141,8 +141,8 @@ public class RunCompleteGoalsPhaseTest
                                                                                             eq( "clean integration-test" ),
                                                                                             isA( ReleaseEnvironment.class ),
                                                                                             eq( true ),
-                                                                                            isNull( String.class ),
-                                                                                            isNull( String.class ),
+                                                                                            isNull(),
+                                                                                            isNull(),
                                                                                             isA( ReleaseResult.class ) );
 
         mavenExecutorWrapper.setMavenExecutor( mock );
@@ -161,7 +161,7 @@ public class RunCompleteGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
@@ -183,8 +183,8 @@ public class RunCompleteGoalsPhaseTest
                                                                                             eq( "clean integration-test" ),
                                                                                             isA( ReleaseEnvironment.class ),
                                                                                             eq( true ),
-                                                                                            isNull( String.class ),
-                                                                                            isNull( String.class ),
+                                                                                            isNull(),
+                                                                                            isNull(),
                                                                                             isA( ReleaseResult.class ) );
 
         mavenExecutorWrapper.setMavenExecutor( mock );
@@ -203,7 +203,7 @@ public class RunCompleteGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhaseTest.java
index 4b7ca8a..0d7827b 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhaseTest.java
@@ -21,10 +21,10 @@ package org.apache.maven.shared.release.phase;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Matchers.isNull;
+import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -104,7 +104,7 @@ public class RunPerformGoalsPhaseTest
                                                                                                    isA( ReleaseEnvironment.class ),
                                                                                                    eq( true ),
                                                                                                    eq( "-DperformRelease=true -f pom.xml" ),
-                                                                                                   isNull( String.class ),
+                                                                                                   isNull(),
                                                                                                    isA( ReleaseResult.class ) );
 
         mavenExecutorWrapper.setMavenExecutor( mock );
@@ -127,7 +127,7 @@ public class RunPerformGoalsPhaseTest
                                      isA( ReleaseEnvironment.class ),
                                      eq( true ),
                                      eq( "-DperformRelease=true -f pom.xml" ),
-                                     isNull( String.class ),
+                                     isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
@@ -194,7 +194,7 @@ public class RunPerformGoalsPhaseTest
                                      isA( ReleaseEnvironment.class ),
                                      eq( true ),
                                      eq( "-Dmaven.test.skip=true -f pom.xml" ),
-                                     isNull( String.class ),
+                                     isNull(),
                                      isA( ReleaseResult.class ) );
         verify( scmProviderMock ).checkOut( isA( ScmRepository.class ),
                                             argThat( new IsScmFileSetEquals( new ScmFileSet( checkoutDirectory ) ) ),
@@ -235,7 +235,7 @@ public class RunPerformGoalsPhaseTest
                                      isA( ReleaseEnvironment.class ),
                                      eq( true ),
                                      eq( "-DperformRelease=true -f pom.xml" ),
-                                     isNull( String.class ),
+                                     isNull(),
                                      isA( ReleaseResult.class ) );
         verify( scmProviderMock ).checkOut( isA( ScmRepository.class ),
                                             argThat( new IsScmFileSetEquals( new ScmFileSet( checkoutDirectory ) ) ),
@@ -278,7 +278,7 @@ public class RunPerformGoalsPhaseTest
                                      isA( ReleaseEnvironment.class ),
                                      eq( true ),
                                      eq( "-f pom.xml" ),
-                                     isNull( String.class ),
+                                     isNull(),
                                      isA( ReleaseResult.class ) );
         verify( scmProviderMock ).checkOut( isA( ScmRepository.class ),
                                             argThat( new IsScmFileSetEquals( new ScmFileSet( checkoutDirectory ) ) ),
@@ -320,7 +320,7 @@ public class RunPerformGoalsPhaseTest
                                      isA( ReleaseEnvironment.class),
                                      eq( true),
                                      eq( "-Dmaven.test.skip=true -DperformRelease=true -f pom.xml" ),
-                                     isNull( String.class ),
+                                     isNull(),
                                      isA( ReleaseResult.class ) );
         verify( scmProviderMock ).checkOut( isA( ScmRepository.class ),
                                             argThat( new IsScmFileSetEquals( new ScmFileSet( checkoutDirectory ) ) ),
@@ -363,7 +363,7 @@ public class RunPerformGoalsPhaseTest
                                      isA( ReleaseEnvironment.class ),
                                      eq( true ),
                                      eq( "-DperformRelease=true -f pom.xml" ),
-                                     isNull( String.class ),
+                                     isNull(),
                                      isA( ReleaseResult.class ) );
         verify( scmProviderMock ).checkOut( isA( ScmRepository.class ),
                                             argThat( new IsScmFileSetEquals( new ScmFileSet( checkoutDirectory ) ) ),
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPrepareGoalsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPrepareGoalsPhaseTest.java
index 4222580..5210ab9 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPrepareGoalsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPrepareGoalsPhaseTest.java
@@ -94,7 +94,7 @@ public class RunPrepareGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
@@ -119,7 +119,7 @@ public class RunPrepareGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
@@ -141,8 +141,8 @@ public class RunPrepareGoalsPhaseTest
                                                                                             eq( "clean integration-test" ),
                                                                                             isA( ReleaseEnvironment.class ),
                                                                                             eq( true ),
-                                                                                            isNull( String.class ),
-                                                                                            isNull( String.class ),
+                                                                                            isNull(),
+                                                                                            isNull(),
                                                                                             isA( ReleaseResult.class ) );
 
         mavenExecutorWrapper.setMavenExecutor( mock );
@@ -161,7 +161,7 @@ public class RunPrepareGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
     }
@@ -183,8 +183,8 @@ public class RunPrepareGoalsPhaseTest
                                                                                             eq( "clean integration-test" ),
                                                                                             isA( ReleaseEnvironment.class ),
                                                                                             eq( true ),
-                                                                                            isNull( String.class ),
-                                                                                            isNull( String.class ),
+                                                                                            isNull(),
+                                                                                            isNull(),
                                                                                             isA( ReleaseResult.class ) );
 
         mavenExecutorWrapper.setMavenExecutor( mock );
@@ -203,7 +203,7 @@ public class RunPrepareGoalsPhaseTest
 
         // verify
         verify( mock ).executeGoals( eq( testFile ), eq( "clean integration-test" ), isA( ReleaseEnvironment.class ),
-                                     eq( true ), isNull( String.class ), isNull( String.class ),
+                                     eq( true ), isNull(), isNull(),
                                      isA( ReleaseResult.class ) );
         verifyNoMoreInteractions( mock );
 
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
index 954086c..1765b3f 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
@@ -23,10 +23,10 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Matchers.isNull;
+import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
index 8c1b397..61cd42f 100644
--- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
+++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
@@ -23,9 +23,8 @@ package org.apache.maven.plugins.release;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.junit.Assert.assertThat;
-
-import static org.mockito.Matchers.isA;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
diff --git a/pom.xml b/pom.xml
index e072af8..a2d43d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,7 +88,7 @@
 
   <properties>
     <scmVersion>1.11.2</scmVersion>
-    <javaVersion>7</javaVersion>
+    <javaVersion>8</javaVersion>
     <mavenVersion>3.0</mavenVersion>
     <maven.site.path>maven-release-archives/maven-release-LATEST</maven.site.path>
     <project.build.outputTimestamp>2020-04-07T18:00:00Z</project.build.outputTimestamp>