From 514064debc27b4b9776941249f256855eec40bd2 Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Thu, 22 Feb 2024 22:48:02 +0100 Subject: [PATCH] feat!: Jakarta & JDK11 --- mockserver-api/pom.xml | 22 ++-- mockserver-api/src/main/xjb/binding.xjb | 19 ++- mockserver-client/pom.xml | 31 +++-- .../mockserver/client/RemoteMockServer.groovy | 2 +- .../eu/ztsh/mockserver/client/Util.groovy | 2 +- mockserver-tests/pom.xml | 53 ++++---- mockserver/pom.xml | 48 +++++--- .../mockserver/server/HttpMockServer.groovy | 84 ++++++------- .../eu/ztsh/mockserver/server/Util.groovy | 2 +- performance-tests/pom.xml | 8 +- pom.xml | 115 +++++++++--------- 11 files changed, 206 insertions(+), 180 deletions(-) diff --git a/mockserver-api/pom.xml b/mockserver-api/pom.xml index 3b26bf1..de5029a 100644 --- a/mockserver-api/pom.xml +++ b/mockserver-api/pom.xml @@ -1,15 +1,21 @@ - + + 4.0.0 + - http-mock-server eu.ztsh.mockserver + http-mock-server 3.0.0-SNAPSHOT - 4.0.0 mockserver-api + + jakarta.xml.bind + jakarta.xml.bind-api + org.projectlombok lombok @@ -18,19 +24,9 @@ - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.8 - 1.8 - - org.codehaus.mojo jaxb2-maven-plugin - 2.2 xjc diff --git a/mockserver-api/src/main/xjb/binding.xjb b/mockserver-api/src/main/xjb/binding.xjb index a735d24..fdf2585 100644 --- a/mockserver-api/src/main/xjb/binding.xjb +++ b/mockserver-api/src/main/xjb/binding.xjb @@ -1,10 +1,9 @@ - - - - - - - - \ No newline at end of file + + + + + + + diff --git a/mockserver-client/pom.xml b/mockserver-client/pom.xml index ac9bac3..223178e 100644 --- a/mockserver-client/pom.xml +++ b/mockserver-client/pom.xml @@ -1,18 +1,22 @@ - + + 4.0.0 + - http-mock-server eu.ztsh.mockserver + http-mock-server 3.0.0-SNAPSHOT - 4.0.0 mockserver-client - - clean install - + + eu.ztsh.mockserver + mockserver-api + + org.codehaus.groovy groovy @@ -25,6 +29,7 @@ org.codehaus.groovy groovy-xml + org.apache.httpcomponents httpclient @@ -33,9 +38,15 @@ org.apache.commons commons-lang3 - - eu.ztsh.mockserver - mockserver-api - + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + + + + diff --git a/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/RemoteMockServer.groovy b/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/RemoteMockServer.groovy index 8439124..f594614 100644 --- a/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/RemoteMockServer.groovy +++ b/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/RemoteMockServer.groovy @@ -17,7 +17,7 @@ import eu.ztsh.mockserver.api.response.MockRemoved import eu.ztsh.mockserver.api.response.MockReport import eu.ztsh.mockserver.api.response.Mocks -import javax.xml.bind.JAXBContext +import jakarta.xml.bind.JAXBContext class RemoteMockServer { private final String address diff --git a/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/Util.groovy b/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/Util.groovy index 167cb3b..0583484 100644 --- a/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/Util.groovy +++ b/mockserver-client/src/main/groovy/eu/ztsh/mockserver/client/Util.groovy @@ -11,7 +11,7 @@ import eu.ztsh.mockserver.api.response.ExceptionOccured import eu.ztsh.mockserver.api.response.MockAdded import eu.ztsh.mockserver.api.response.MockServerResponse -import javax.xml.bind.JAXBContext +import jakarta.xml.bind.JAXBContext @CompileStatic @TypeChecked diff --git a/mockserver-tests/pom.xml b/mockserver-tests/pom.xml index 6adec6e..9f3cc41 100644 --- a/mockserver-tests/pom.xml +++ b/mockserver-tests/pom.xml @@ -1,27 +1,36 @@ - + + 4.0.0 + http-mock-server eu.ztsh.mockserver 3.0.0-SNAPSHOT - 4.0.0 mockserver-tests - - clean install - - + + eu.ztsh.mockserver + mockserver + + + eu.ztsh.mockserver + mockserver-client + + org.codehaus.groovy groovy + - org.spockframework - spock-core + org.apache.httpcomponents + httpclient + org.slf4j slf4j-api @@ -30,24 +39,20 @@ ch.qos.logback logback-core + - org.apache.httpcomponents - httpclient - - - eu.ztsh.mockserver - mockserver - ${project.version} - - - eu.ztsh.mockserver - mockserver-client - ${project.version} - - - info.solidsoft.spock - spock-global-unroll + org.spockframework + spock-core + + + + org.codehaus.gmavenplus + gmavenplus-plugin + + + + diff --git a/mockserver/pom.xml b/mockserver/pom.xml index 750d7d6..c1bf76c 100644 --- a/mockserver/pom.xml +++ b/mockserver/pom.xml @@ -1,15 +1,22 @@ - + + 4.0.0 + - http-mock-server eu.ztsh.mockserver + http-mock-server 3.0.0-SNAPSHOT - 4.0.0 mockserver + + eu.ztsh.mockserver + mockserver-api + + org.codehaus.groovy groovy @@ -22,6 +29,12 @@ org.codehaus.groovy groovy-xml + + + org.apache.commons + commons-lang3 + + org.slf4j slf4j-api @@ -34,19 +47,15 @@ ch.qos.logback logback-classic - - org.apache.commons - commons-lang3 - - - eu.ztsh.mockserver - mockserver-api - clean package assembly:single install + + org.codehaus.gmavenplus + gmavenplus-plugin + maven-assembly-plugin @@ -61,16 +70,17 @@ mockserver-full false - + - create-archive - package - - single - - - + create-archive + package + + single + + + + diff --git a/mockserver/src/main/groovy/eu/ztsh/mockserver/server/HttpMockServer.groovy b/mockserver/src/main/groovy/eu/ztsh/mockserver/server/HttpMockServer.groovy index 88c15ce..eaae94d 100644 --- a/mockserver/src/main/groovy/eu/ztsh/mockserver/server/HttpMockServer.groovy +++ b/mockserver/src/main/groovy/eu/ztsh/mockserver/server/HttpMockServer.groovy @@ -20,7 +20,7 @@ import eu.ztsh.mockserver.api.response.MockResponseReport import eu.ztsh.mockserver.api.response.Mocks import eu.ztsh.mockserver.api.response.Parameter -import javax.xml.bind.JAXBContext +import jakarta.xml.bind.JAXBContext import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.CopyOnWriteArraySet import java.util.concurrent.Executor @@ -79,22 +79,22 @@ class HttpMockServer { void listMocks(HttpExchange ex) { Mocks mockListing = new Mocks( - mocks: listMocks().collect { - new MockReport( - name: it.name, - path: it.path, - port: it.port, - predicate: it.predicateClosureText, - response: it.responseClosureText, - responseHeaders: it.responseHeadersClosureText, - soap: it.soap, - method: it.method, - statusCode: it.statusCode as int, - schema: it.schema, - imports: it.imports.collect { new ImportAlias(alias: it.key, fullClassName: it.value) }, - preserveHistory: it.preserveHistory - ) - } + mocks: listMocks().collect { + new MockReport( + name: it.name, + path: it.path, + port: it.port, + predicate: it.predicateClosureText, + response: it.responseClosureText, + responseHeaders: it.responseHeadersClosureText, + soap: it.soap, + method: it.method, + statusCode: it.statusCode as int, + schema: it.schema, + imports: it.imports.collect { new ImportAlias(alias: it.key, fullClassName: it.value) }, + preserveHistory: it.preserveHistory + ) + } ) createResponse(ex, mockListing, 200) } @@ -182,12 +182,12 @@ class HttpMockServer { mock.preserveHistory = co.preserveHistory != false if (co.https) { mock.https = new Https( - keystorePath: co.https.keystorePath ?: null, - keystorePassword: co.https.keystorePassword, - keyPassword: co.https.keyPassword, - truststorePath: co.https.truststorePath, - truststorePassword: co.https.truststorePassword, - requireClientAuth: co.https?.requireClientAuth?.asBoolean() ?: false + keystorePath: co.https.keystorePath ?: null, + keystorePassword: co.https.keystorePassword, + keyPassword: co.https.keyPassword, + truststorePath: co.https.truststorePath, + truststorePassword: co.https.truststorePassword, + requireClientAuth: co.https?.requireClientAuth?.asBoolean() ?: false ) } mock.maxUses = co.maxUses ?: null @@ -217,7 +217,7 @@ class HttpMockServer { mockNames.remove(name) configuration.remove(name) MockRemoved mockRemoved = new MockRemoved( - mockEvents: createMockEventReports(mockEvents) + mockEvents: createMockEventReports(mockEvents) ) createResponse(ex, mockRemoved, 200) } @@ -225,23 +225,23 @@ class HttpMockServer { private static List createMockEventReports(List mockEvents) { return mockEvents.collect { new MockEventReport( - request: new MockRequestReport( - text: it.request.text, - headers: new MockRequestReport.Headers(headers: it.request.headers.collect { - new Parameter(name: it.key, value: it.value) - }), - queryParams: new MockRequestReport.QueryParams(queryParams: it.request.query.collect { - new Parameter(name: it.key, value: it.value) - }), - path: new MockRequestReport.Path(pathParts: it.request.path) - ), - response: new MockResponseReport( - statusCode: it.response.statusCode, - text: it.response.text, - headers: new MockResponseReport.Headers(headers: it.response.headers.collect { - new Parameter(name: it.key, value: it.value) - }) - ) + request: new MockRequestReport( + text: it.request.text, + headers: new MockRequestReport.Headers(headers: it.request.headers.collect { + new Parameter(name: it.key, value: it.value) + }), + queryParams: new MockRequestReport.QueryParams(queryParams: it.request.query.collect { + new Parameter(name: it.key, value: it.value) + }), + path: new MockRequestReport.Path(pathParts: it.request.path) + ), + response: new MockResponseReport( + statusCode: it.response.statusCode, + text: it.response.text, + headers: new MockResponseReport.Headers(headers: it.response.headers.collect { + new Parameter(name: it.key, value: it.value) + }) + ) ) } } @@ -254,7 +254,7 @@ class HttpMockServer { log.trace("Peeking mock $name") List mockEvents = childServers.values().collect { it.peekMock(name) }.flatten() as List MockPeeked mockPeeked = new MockPeeked( - mockEvents: createMockEventReports(mockEvents) + mockEvents: createMockEventReports(mockEvents) ) createResponse(ex, mockPeeked, 200) } diff --git a/mockserver/src/main/groovy/eu/ztsh/mockserver/server/Util.groovy b/mockserver/src/main/groovy/eu/ztsh/mockserver/server/Util.groovy index 6e72916..c51d1f0 100644 --- a/mockserver/src/main/groovy/eu/ztsh/mockserver/server/Util.groovy +++ b/mockserver/src/main/groovy/eu/ztsh/mockserver/server/Util.groovy @@ -3,7 +3,7 @@ package eu.ztsh.mockserver.server import com.sun.net.httpserver.HttpExchange import eu.ztsh.mockserver.api.response.MockAdded -import javax.xml.bind.JAXBContext +import jakarta.xml.bind.JAXBContext class Util { diff --git a/performance-tests/pom.xml b/performance-tests/pom.xml index a16e4e6..e73db5c 100644 --- a/performance-tests/pom.xml +++ b/performance-tests/pom.xml @@ -1,11 +1,12 @@ + 4.0.0 + - http-mock-server eu.ztsh.mockserver + http-mock-server 3.0.0-SNAPSHOT - 4.0.0 mockserver-performance-tests @@ -13,13 +14,12 @@ eu.ztsh.mockserver mockserver - ${project.version} eu.ztsh.mockserver mockserver-client - ${project.version} + org.openjdk.jmh jmh-core diff --git a/pom.xml b/pom.xml index 0847141..7e57e1d 100644 --- a/pom.xml +++ b/pom.xml @@ -17,26 +17,45 @@ + 11 + ${java.version} + ${java.version} UTF-8 + UTF-8 - 3.1 - 2.5.7 + 3.0.20 4.5.13 - 1.3-groovy-2.5 + 2.0-groovy-3.0 3.3.2 1.7.30 1.3.12 - 1.16.6 + 1.18.26 + 4.0.1 true - 1.11.2 - 2.5.2 - 1.4 - 0.5.1 + 1.37 + 3.0.2 + 3.1.0 + + eu.ztsh.mockserver + mockserver-api + ${project.version} + + + eu.ztsh.mockserver + mockserver + ${project.version} + + + eu.ztsh.mockserver + mockserver-client + ${project.version} + + org.codehaus.groovy groovy @@ -52,22 +71,22 @@ groovy-xml ${groovy.version} + org.apache.httpcomponents httpclient ${httpclient.version} - - org.spockframework - spock-core - ${spock-core.version} - test - org.apache.commons commons-lang3 ${commons-lang3.version} + + jakarta.xml.bind + jakarta.xml.bind-api + ${jakarta-xml-bind.version} + org.slf4j slf4j-api @@ -88,10 +107,12 @@ lombok ${lombok.version} + - eu.ztsh.mockserver - mockserver-api - ${project.version} + org.spockframework + spock-core + ${spock-core.version} + test org.openjdk.jmh @@ -105,48 +126,32 @@ ${jmh.version} test - - info.solidsoft.spock - spock-global-unroll - ${spock-global-unroll.version} - test - - clean install - - - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.8 - 1.8 - - - - org.codehaus.gmavenplus - gmavenplus-plugin - ${gmavenplus-plugin.version} - - - - compile - testCompile - - - - - - org.apache.maven.plugins - maven-release-plugin - ${maven-release-plugin.version} - - true - - - + + + + org.codehaus.mojo + jaxb2-maven-plugin + ${jaxb2-maven-plugin.version} + + + org.codehaus.gmavenplus + gmavenplus-plugin + ${gmavenplus-plugin.version} + + + + compile + compileTests + + + + + +