SLING-11903 - Sling Engine build fails on Java 17 due to JMock error:module java.base does not "opens java.lang" to unnamed module @2613a93a (#37)
- update to the latest jmock-junit4
- switch from the ClassImposteriser to the ByteBuddyClassImposteriser
- drop no longer used jmock-legacy, cglib-nodep and objenesis dependencies
diff --git a/pom.xml b/pom.xml
index 0c298da..75e91f7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -173,7 +173,7 @@
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock-junit4</artifactId>
- <version>2.8.2</version>
+ <version>2.12.0</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -189,24 +189,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-legacy</artifactId>
- <version>2.8.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.objenesis</groupId>
- <artifactId>objenesis</artifactId>
- <version>1.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.osgi-mock.junit4</artifactId>
<version>3.3.2</version>
diff --git a/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java b/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java
index 75e73ca..cb0f107 100644
--- a/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java
+++ b/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java
@@ -35,8 +35,8 @@
import org.apache.sling.engine.impl.request.RequestData;
import org.jmock.Expectations;
import org.jmock.Mockery;
+import org.jmock.imposters.ByteBuddyClassImposteriser;
import org.jmock.integration.junit4.JUnit4Mockery;
-import org.jmock.lib.legacy.ClassImposteriser;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.Mockito;
@@ -46,7 +46,7 @@
SlingHttpServletRequestImpl slingHttpServletRequestImpl;
private Mockery context = new JUnit4Mockery() {{
- setImposteriser(ClassImposteriser.INSTANCE);
+ setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
}};
@Test
diff --git a/src/test/java/org/apache/sling/engine/impl/helper/ExternalServletContextWrapperTest.java b/src/test/java/org/apache/sling/engine/impl/helper/ExternalServletContextWrapperTest.java
index 23bb7d3..a2a3fa6 100644
--- a/src/test/java/org/apache/sling/engine/impl/helper/ExternalServletContextWrapperTest.java
+++ b/src/test/java/org/apache/sling/engine/impl/helper/ExternalServletContextWrapperTest.java
@@ -38,8 +38,8 @@
import org.apache.sling.engine.impl.request.RequestData;
import org.jmock.Expectations;
import org.jmock.Mockery;
+import org.jmock.imposters.ByteBuddyClassImposteriser;
import org.jmock.integration.junit4.JUnit4Mockery;
-import org.jmock.lib.legacy.ClassImposteriser;
import org.junit.Before;
import org.junit.Test;
@@ -49,7 +49,7 @@
@Before
public void setup() {
- context.setImposteriser(ClassImposteriser.INSTANCE);
+ context.setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
}
/**
diff --git a/src/test/java/org/apache/sling/engine/impl/request/InitResourceTest.java b/src/test/java/org/apache/sling/engine/impl/request/InitResourceTest.java
index 8163de8..5881d7c 100644
--- a/src/test/java/org/apache/sling/engine/impl/request/InitResourceTest.java
+++ b/src/test/java/org/apache/sling/engine/impl/request/InitResourceTest.java
@@ -28,7 +28,7 @@
import org.apache.sling.engine.impl.SlingRequestProcessorImpl;
import org.jmock.Expectations;
import org.jmock.Mockery;
-import org.jmock.lib.legacy.ClassImposteriser;
+import org.jmock.imposters.ByteBuddyClassImposteriser;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -76,7 +76,7 @@
@Before
public void setup() throws Exception {
context = new Mockery() {{
- setImposteriser(ClassImposteriser.INSTANCE);
+ setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
}};
req = context.mock(HttpServletRequest.class);
diff --git a/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java b/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java
index 7fc9d2c..acccd2b 100644
--- a/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java
+++ b/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java
@@ -34,7 +34,7 @@
import org.apache.sling.engine.impl.SlingRequestProcessorImpl;
import org.jmock.Expectations;
import org.jmock.Mockery;
-import org.jmock.lib.legacy.ClassImposteriser;
+import org.jmock.imposters.ByteBuddyClassImposteriser;
import org.junit.Before;
import org.junit.Test;
@@ -55,7 +55,7 @@
@Before
public void setup() throws ServletException, IOException {
context = new Mockery() {{
- setImposteriser(ClassImposteriser.INSTANCE);
+ setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
}};
req = context.mock(HttpServletRequest.class);