Merge pull request #9061 from acozzette/merge-3.18.x

Merge 3.18.x into master
diff --git a/WORKSPACE b/WORKSPACE
index 37d70ea..2174cab 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -45,7 +45,6 @@
         "com.google.truth:truth:1.1.2",
         "junit:junit:4.12",
         "org.easymock:easymock:3.2",
-        "org.easymock:easymockclassextension:3.2",
     ],
     repositories = [
         "https://repo1.maven.org/maven2",
diff --git a/java/core/BUILD b/java/core/BUILD
index 8ac355e..42124bb 100644
--- a/java/core/BUILD
+++ b/java/core/BUILD
@@ -361,7 +361,6 @@
         ":java_test_protos_java_proto_lite",
         ":test_util_lite",
         "//external:easymock",
-        "//external:easymock_classextension",
         "//external:junit",
         "//external:truth",
     ]
diff --git a/java/core/pom.xml b/java/core/pom.xml
index 838f4a7..3b56150 100644
--- a/java/core/pom.xml
+++ b/java/core/pom.xml
@@ -28,11 +28,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/core/src/test/java/com/google/protobuf/ServiceTest.java b/java/core/src/test/java/com/google/protobuf/ServiceTest.java
index 8b98661..d799678 100644
--- a/java/core/src/test/java/com/google/protobuf/ServiceTest.java
+++ b/java/core/src/test/java/com/google/protobuf/ServiceTest.java
@@ -46,9 +46,9 @@
 import protobuf_unittest.no_generic_services_test.UnittestNoGenericServices;
 import java.util.HashSet;
 import java.util.Set;
-import org.easymock.classextension.EasyMock;
+import org.easymock.EasyMock;
 import org.easymock.IArgumentMatcher;
-import org.easymock.classextension.IMocksControl;
+import org.easymock.IMocksControl;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -80,7 +80,7 @@
     BarRequest barRequest = BarRequest.newBuilder().build();
     MockCallback<Message> fooCallback = new MockCallback<Message>();
     MockCallback<Message> barCallback = new MockCallback<Message>();
-    TestService mockService = control.createMock(TestService.class);
+    TestService mockService = EasyMock.createMock(TestService.class);
 
     mockService.foo(
         EasyMock.same(mockController),
@@ -104,7 +104,7 @@
   /** Tests Service.get{Request,Response}Prototype(). */
   @Test
   public void testGetPrototype() throws Exception {
-    TestService mockService = control.createMock(TestService.class);
+    TestService mockService = EasyMock.createMock(TestService.class);
 
     assertThat(mockService.getRequestPrototype(fooDescriptor))
         .isSameInstanceAs(FooRequest.getDefaultInstance());
diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml
index 0720766..57416d3 100644
--- a/java/kotlin-lite/pom.xml
+++ b/java/kotlin-lite/pom.xml
@@ -36,11 +36,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml
index ad25304..40394eb 100644
--- a/java/kotlin/pom.xml
+++ b/java/kotlin/pom.xml
@@ -35,11 +35,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/lite/pom.xml b/java/lite/pom.xml
index a7bbc96..ac4f25c 100644
--- a/java/lite/pom.xml
+++ b/java/lite/pom.xml
@@ -28,11 +28,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/pom.xml b/java/pom.xml
index 650bbcf..9864f73 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -81,13 +81,7 @@
       <dependency>
         <groupId>org.easymock</groupId>
         <artifactId>easymock</artifactId>
-        <version>2.2</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.easymock</groupId>
-        <artifactId>easymockclassextension</artifactId>
-        <version>2.2.1</version>
+        <version>3.2</version>
         <scope>test</scope>
       </dependency>
       <dependency>
diff --git a/java/util/pom.xml b/java/util/pom.xml
index 6585307..06f6c1b 100644
--- a/java/util/pom.xml
+++ b/java/util/pom.xml
@@ -51,10 +51,6 @@
       <artifactId>easymock</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-    </dependency>
-    <dependency>
       <groupId>com.google.truth</groupId>
       <artifactId>truth</artifactId>
       <scope>test</scope>