Integrate TCK test execution in jsonb/core modules (#125)
* run TCK tests by default
* Move tck execution from separate modules to core/jsonb
* Attempt to fix build
* Run tests with junit-vintage-engine
* remove ManualTckTest
* explicitly declare junit-vintage usage in each module
diff --git a/johnzon-core/pom.xml b/johnzon-core/pom.xml
index 9a78b37..b8c0f2d 100644
--- a/johnzon-core/pom.xml
+++ b/johnzon-core/pom.xml
@@ -33,6 +33,42 @@
<staging.directory>${project.parent.reporting.outputDirectory}</staging.directory>
</properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.json</groupId>
+ <artifactId>jakarta.json-tck-tests</artifactId>
+ <version>2.1.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.json</groupId>
+ <artifactId>jakarta.json-tck-tests-pluggability</artifactId>
+ <version>2.1.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.netbeans.tools</groupId>
+ <artifactId>sigtest-maven-plugin</artifactId>
+ <version>1.7</version>
+ <scope>test</scope>
+
+ <exclusions>
+ <exclusion>
+ <groupId>org.netbeans.tools</groupId>
+ <artifactId>ct-sym</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
<build>
<plugins>
<plugin>
@@ -46,31 +82,86 @@
</instructions>
</configuration>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+
+ <executions>
+ <execution>
+ <id>copy</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>jakarta.json</groupId>
+ <artifactId>jakarta.json-api</artifactId>
+ <version>${jakarta-jsonp-api.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>${project.build.directory}/signaturedirectory</outputDirectory>
+ <destFileName>jakarta.json-api.jar</destFileName>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+
+ <executions>
+ <execution>
+ <id>tck-test</id>
+
+ <goals>
+ <goal>test</goal>
+ </goals>
+
+ <configuration>
+ <dependenciesToScan>jakarta.json:jakarta.json-tck-tests</dependenciesToScan>
+
+ <!-- don't run johnzon tests multiple times, handled in default-test already -->
+ <excludes>
+ <exclude>**/org/apache/johnzon/**</exclude>
+ </excludes>
+
+ <systemPropertyVariables>
+ <jimage.dir>${project.build.directory}/jimage</jimage.dir>
+ <signature.sigTestClasspath>${project.build.directory}/signaturedirectory/jakarta.json-api.jar:${project.build.directory}/jimage/java.base:${project.build.directory}/jimage/java.rmi:${project.build.directory}/jimage/java.sql:${project.build.directory}/jimage/java.naming</signature.sigTestClasspath>
+ </systemPropertyVariables>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>tck-test-pluggability</id>
+
+ <goals>
+ <goal>test</goal>
+ </goals>
+
+ <configuration>
+ <dependenciesToScan>jakarta.json:jakarta.json-tck-tests-pluggability</dependenciesToScan>
+
+ <!-- don't run johnzon tests multiple times, handled in default-test already -->
+ <excludes>
+ <exclude>**/org/apache/johnzon/**</exclude>
+ </excludes>
+
+ <!-- pluggability tests come with their own JsonProvider implementation,
+ so we have to hide the johnzon one for these to run -->
+ <classesDirectory>${project.build.outputDirectory}/nowhere</classesDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
-
-<!-- avoid warnings at build time + this is not sufficient to run anyway (edit ts.jte)
- <profiles>
- <profile>
- <id>jakartaee-tck</id>
-
- <dependencies>
- <dependency>
- <groupId>org.eclipse.jakartaee.tck.local</groupId>
- <artifactId>tsharness</artifactId>
- <version>8.0-SNAPSHOT</version>
- <scope>system</scope>
- <systemPath>/opt/eclipse/javaeetck/lib/tsharness.jar</systemPath>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jakartaee.tck.local</groupId>
- <artifactId>sonparsertests_appclient_vehicle_client</artifactId>
- <version>8.0-SNAPSHOT</version>
- <scope>system</scope>
- <systemPath>/opt/eclipse/javaeetck/dist/com/sun/ts/tests/jsonp/api/jsonparsertests/jsonparsertests_appclient_vehicle_client.jar</systemPath>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
--->
</project>
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/ManualTckTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/ManualTckTest.java
deleted file mode 100644
index afb152d..0000000
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/ManualTckTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.johnzon.core;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertNotNull;
-
-public class ManualTckTest {
-
-
- @Test
- public void jsonParser11Test() throws Exception {
- Class parserClass = loadClass("com.sun.ts.tests.jsonp.api.jsonparsertests.Parser");
- if (parserClass == null) {
- // no TCK available, so we skip the test
- return;
- }
-
- Constructor constructor = parserClass.getDeclaredConstructor();
- constructor.setAccessible(true);
- Object parserTest = constructor.newInstance();
- assertNotNull(parserTest);
-
- Method testMethod = parserClass.getDeclaredMethod("test");
- testMethod.setAccessible(true);
- final Object result = testMethod.invoke(parserTest);
-
- Class testResultClass = loadClass("com.sun.ts.tests.jsonp.api.common.TestResult");
- Method evalMethod = testResultClass.getDeclaredMethod("eval");
- evalMethod.invoke(result);
- }
-
- private Class loadClass(String className) {
- try {
- return Class.forName(className);
- } catch (ClassNotFoundException cnfe) {
- return null;
- }
- }
-}
diff --git a/johnzon-jaxrs/pom.xml b/johnzon-jaxrs/pom.xml
index 19dcb23..1e8c18a 100644
--- a/johnzon-jaxrs/pom.xml
+++ b/johnzon-jaxrs/pom.xml
@@ -44,6 +44,11 @@
</dependency>
<dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>${cxf.version}</version>
diff --git a/johnzon-json-extras/pom.xml b/johnzon-json-extras/pom.xml
index 5317536..0ed5032 100644
--- a/johnzon-json-extras/pom.xml
+++ b/johnzon-json-extras/pom.xml
@@ -35,6 +35,12 @@
<dependencies>
<dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>jakarta.json.bind</groupId>
<artifactId>jakarta.json.bind-api</artifactId>
<scope>provided</scope>
diff --git a/johnzon-jsonb/pom.xml b/johnzon-jsonb/pom.xml
index 1c89b42..4a9ca91 100644
--- a/johnzon-jsonb/pom.xml
+++ b/johnzon-jsonb/pom.xml
@@ -68,6 +68,12 @@
</dependency>
<dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>${cxf.version}</version>
@@ -107,6 +113,27 @@
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-spi</artifactId>
<version>${owb.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openwebbeans</groupId>
+ <artifactId>openwebbeans-se</artifactId>
+ <version>${owb.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.json.bind</groupId>
+ <artifactId>jakarta.json.bind-tck</artifactId>
+ <version>3.0.0</version>
+ <scope>test</scope>
+
+ <exclusions>
+ <exclusion>
+ <groupId>org.netbeans.tools</groupId>
+ <artifactId>ct-sym</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
</dependencies>
@@ -136,6 +163,88 @@
</instructions>
</configuration>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.2.0</version>
+ <executions>
+ <execution>
+ <id>copy</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>jakarta.json</groupId>
+ <artifactId>jakarta.json-api</artifactId>
+ <version>${jakarta-jsonp-api.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>${project.build.directory}/signaturedirectory</outputDirectory>
+ <destFileName>jakarta.json-api.jar</destFileName>
+ </artifactItem>
+
+ <artifactItem>
+ <groupId>jakarta.json.bind</groupId>
+ <artifactId>jakarta.json.bind-api</artifactId>
+ <version>${jakarta-jsonb-api.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>${project.build.directory}/signaturedirectory</outputDirectory>
+ <destFileName>jakarta.json.bind-api.jar</destFileName>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+
+ <executions>
+ <execution>
+ <id>tck-test</id>
+
+ <goals>
+ <goal>test</goal>
+ </goals>
+
+ <configuration>
+ <dependenciesToScan>jakarta.json.bind:jakarta.json.bind-tck</dependenciesToScan>
+
+ <excludes>
+ <!-- don't run johnzon tests multiple times, handled in default-test already -->
+ <exclude>**/org/apache/johnzon/**</exclude>
+
+ <!-- https://github.com/jakartaee/jsonb-api/issues/344 -->
+ <exclude>**/SerializersCustomizationCDITest</exclude>
+
+ <!-- https://github.com/jakartaee/jsonb-api/issues/347 -->
+ <exclude>**/AnnotationTypeInfoTest</exclude>
+ </excludes>
+
+ <systemPropertyVariables>
+ <jimage.dir>${project.build.directory}/jimage</jimage.dir>
+ <signature.sigTestClasspath>${project.build.directory}/signaturedirectory/jakarta.json.bind-api.jar:${project.build.directory}/jimage/java.base:${project.build.directory}/jimage/java.rmi:${project.build.directory}/jimage/java.sql:${project.build.directory}/jimage/java.naming</signature.sigTestClasspath>
+
+ <!-- don't serialize BigDecimal/BigInteger as strings. Usually enabled by default in johnzon, see https://github.com/jakartaee/jsonb-api/issues/187 -->
+ <johnzon.use-bigdecimal-stringadapter>false</johnzon.use-bigdecimal-stringadapter>
+ <johnzon.use-biginteger-stringadapter>false</johnzon.use-biginteger-stringadapter>
+
+ <!-- needed to pass JSON-B 3 TCKs on jdk 13+, see https://github.com/jakartaee/jsonb-api/issues/272 -->
+ <java.locale.providers>COMPAT</java.locale.providers>
+ </systemPropertyVariables>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/tck/jsonb/src/test/java/org/apache/johnzon/jsonb/tck/JohnzonOwbCDIProvider.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/tck/JohnzonOwbCDIProvider.java
similarity index 100%
rename from tck/jsonb/src/test/java/org/apache/johnzon/jsonb/tck/JohnzonOwbCDIProvider.java
rename to johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/tck/JohnzonOwbCDIProvider.java
diff --git a/tck/jsonb/src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.CDIProvider b/johnzon-jsonb/src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.CDIProvider
similarity index 100%
rename from tck/jsonb/src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.CDIProvider
rename to johnzon-jsonb/src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.CDIProvider
diff --git a/johnzon-jsonlogic/pom.xml b/johnzon-jsonlogic/pom.xml
index dd4f660..38094ee 100644
--- a/johnzon-jsonlogic/pom.xml
+++ b/johnzon-jsonlogic/pom.xml
@@ -31,6 +31,11 @@
<dependencies>
<dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.johnzon</groupId>
<artifactId>johnzon-core</artifactId>
<version>${project.version}</version>
diff --git a/johnzon-jsonschema/pom.xml b/johnzon-jsonschema/pom.xml
index f8b5fb7..ee9d852 100644
--- a/johnzon-jsonschema/pom.xml
+++ b/johnzon-jsonschema/pom.xml
@@ -45,6 +45,11 @@
</dependency>
<dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.johnzon</groupId>
<artifactId>johnzon-core</artifactId>
<version>${project.version}</version>
diff --git a/johnzon-mapper/pom.xml b/johnzon-mapper/pom.xml
index 4bb20ce..00557a2 100644
--- a/johnzon-mapper/pom.xml
+++ b/johnzon-mapper/pom.xml
@@ -36,6 +36,11 @@
</dependency>
<dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<version>3.1.0</version>
diff --git a/johnzon-maven-plugin/pom.xml b/johnzon-maven-plugin/pom.xml
index 5e5039c..60252fc 100644
--- a/johnzon-maven-plugin/pom.xml
+++ b/johnzon-maven-plugin/pom.xml
@@ -99,6 +99,12 @@
<artifactId>maven-plugin-annotations</artifactId>
<version>${maven.version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/johnzon-websocket/pom.xml b/johnzon-websocket/pom.xml
index c0d4139..850fbef 100644
--- a/johnzon-websocket/pom.xml
+++ b/johnzon-websocket/pom.xml
@@ -82,9 +82,9 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.junit</groupId>
- <artifactId>arquillian-junit-container</artifactId>
- <version>1.1.11.Final</version>
+ <groupId>org.jboss.arquillian.junit5</groupId>
+ <artifactId>arquillian-junit5-container</artifactId>
+ <version>1.8.0.Final</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java
index ee5f786..af9ef0d 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java
@@ -28,13 +28,13 @@
import org.apache.johnzon.websocket.jsr.JsrObjectDecoder;
import org.apache.johnzon.websocket.jsr.JsrObjectEncoder;
import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.junit5.ArquillianExtension;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import java.net.URI;
import java.net.URL;
@@ -45,10 +45,10 @@
import jakarta.websocket.Session;
import jakarta.websocket.WebSocketContainer;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
-@RunWith(Arquillian.class)
+@ExtendWith(ArquillianExtension.class)
public class JsrCodecTest {
@Deployment(testable = false)
public static WebArchive war() {
diff --git a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java
index fb97cc7..789fee5 100644
--- a/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java
+++ b/johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java
@@ -30,13 +30,13 @@
import org.apache.johnzon.websocket.mapper.JohnzonTextEncoder;
import org.apache.openejb.arquillian.common.IO;
import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.junit5.ArquillianExtension;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import java.net.URI;
import java.net.URL;
@@ -45,10 +45,10 @@
import jakarta.websocket.Session;
import jakarta.websocket.WebSocketContainer;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
-@RunWith(Arquillian.class)
+@ExtendWith(ArquillianExtension.class)
public class MapperCodecTest {
@Deployment(testable = false)
public static WebArchive war() {
diff --git a/pom.xml b/pom.xml
index e6f1546..65a7014 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,7 @@
<johnzon.site.url>https://svn.apache.org/repos/asf/johnzon/site/publish/</johnzon.site.url>
<pubsub.url>scm:svn:${johnzon.site.url}</pubsub.url>
<staging.directory>${project.build.directory}/site</staging.directory>
+ <surefire.plugin.version>3.2.5</surefire.plugin.version>
<felix.plugin.version>5.1.9</felix.plugin.version>
<bnd.version.policy>[$(version;==;$(@)),$(version;+;$(@)))</bnd.version.policy>
<bnd.version>6.1.0</bnd.version>
@@ -56,6 +57,7 @@
<checkstyle.version>3.0.0</checkstyle.version> <!-- Increasing checkstyle to 3.1 or above will require changes to the checkstyleRules -->
<!-- JVM values for surefire plugin -->
<surefire.jvm.params>-Xms1024m -Xmx2048m -Dfile.encoding=UTF-8</surefire.jvm.params>
+ <junit.version>5.10.2</junit.version>
<owb.version>4.0.0</owb.version>
<arquillian.jvm.args />
</properties>
@@ -88,10 +90,17 @@
<version>${jakarta-jsonb-api.version}</version>
<scope>provided</scope>
</dependency>
+
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.13.2</version>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -105,8 +114,8 @@
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
@@ -137,12 +146,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>3.1.2</version>
+ <version>${surefire.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
- <version>3.1.2</version>
+ <version>${surefire.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -805,13 +814,6 @@
<profiles>
<profile>
- <id>tck</id>
- <modules>
- <module>tck</module>
- </modules>
- </profile>
-
- <profile>
<id>jdk9+</id>
<activation>
<jdk>[9,)</jdk>
diff --git a/tck/jsonb/pom.xml b/tck/jsonb/pom.xml
deleted file mode 100644
index 33802f9..0000000
--- a/tck/jsonb/pom.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>tck</artifactId>
- <groupId>org.apache.johnzon</groupId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>jsonb</artifactId>
- <name>Johnzon :: TCK :: JSON-B</name>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>jakarta.json.bind</groupId>
- <artifactId>jakarta.json.bind-api</artifactId>
- </dependency>
- <dependency>
- <groupId>jakarta.enterprise</groupId>
- <artifactId>jakarta.enterprise.cdi-api</artifactId>
- <version>4.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.johnzon</groupId>
- <artifactId>johnzon-jsonb</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>jakarta.json.bind</groupId>
- <artifactId>jakarta.json.bind-tck</artifactId>
- <version>3.0.0</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.openwebbeans</groupId>
- <artifactId>openwebbeans-se</artifactId>
- <version>${owb.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.openwebbeans</groupId>
- <artifactId>openwebbeans-impl</artifactId>
- <version>${owb.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.openwebbeans</groupId>
- <artifactId>openwebbeans-spi</artifactId>
- <version>${owb.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.netbeans.tools</groupId>
- <artifactId>sigtest-maven-plugin</artifactId>
- <version>1.6</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration>
- <reuseForks>false</reuseForks>
- <forkCount>1</forkCount>
- <dependenciesToScan>
- <dependency>jakarta.json.bind:jakarta.json.bind-tck</dependency>
- </dependenciesToScan>
-
- <excludes>
- <!-- https://github.com/jakartaee/jsonb-api/issues/344 -->
- <exclude>**/SerializersCustomizationCDITest</exclude>
-
- <!-- https://github.com/jakartaee/jsonb-api/issues/347 -->
- <exclude>**/AnnotationTypeInfoTest</exclude>
- </excludes>
-
- <systemProperties>
- <jimage.dir>${project.build.directory}/jimage</jimage.dir>
- <signature.sigTestClasspath>${project.build.directory}/signaturedirectory/jakarta.json.bind-api.jar:${project.build.directory}/jimage/java.base:${project.build.directory}/jimage/java.rmi:${project.build.directory}/jimage/java.sql:${project.build.directory}/jimage/java.naming</signature.sigTestClasspath>
-
- <!-- don't serialize BigDecimal/BigInteger as strings. Usually enabled by default in johnzon, see https://github.com/jakartaee/jsonb-api/issues/187 -->
- <johnzon.use-bigdecimal-stringadapter>false</johnzon.use-bigdecimal-stringadapter>
- <johnzon.use-biginteger-stringadapter>false</johnzon.use-biginteger-stringadapter>
-
- <!-- needed to pass JSON-B 3 TCKs on jdk 13+, see https://github.com/jakartaee/jsonb-api/issues/272 -->
- <java.locale.providers>COMPAT</java.locale.providers>
- </systemProperties>
- <argLine>-Duser.language=en -Duser.region=US</argLine>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/tck/jsonp/pom.xml b/tck/jsonp/pom.xml
deleted file mode 100644
index 879c9e1..0000000
--- a/tck/jsonp/pom.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>tck</artifactId>
- <groupId>org.apache.johnzon</groupId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>jsonp</artifactId>
- <name>Johnzon :: TCK :: JSON-P</name>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>jakarta.json</groupId>
- <artifactId>jakarta.json-api</artifactId>
- </dependency>
-
- <dependency>
- <groupId>jakarta.json</groupId>
- <artifactId>jakarta.json-tck-tests</artifactId>
- <version>2.1.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jakarta.json</groupId>
- <artifactId>jakarta.json-tck-tests-pluggability</artifactId>
- <version>2.1.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.johnzon</groupId>
- <artifactId>johnzon-core</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.openwebbeans</groupId>
- <artifactId>openwebbeans-se</artifactId>
- <version>${owb.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.openwebbeans</groupId>
- <artifactId>openwebbeans-impl</artifactId>
- <version>${owb.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.openwebbeans</groupId>
- <artifactId>openwebbeans-spi</artifactId>
- <version>${owb.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.netbeans.tools</groupId>
- <artifactId>sigtest-maven-plugin</artifactId>
- <version>1.6</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <testResources>
- <testResource>
- <directory>src/test/resources</directory>
- <filtering>true</filtering>
- </testResource>
- </testResources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration>
- <reuseForks>false</reuseForks>
- <forkCount>1</forkCount>
- </configuration>
-
- <!-- Pluggability tests need to be run separately from normal TCKs as they bring their
- own JsonProvider implementation which would break other TCK tests -->
- <executions>
- <execution>
- <id>tck-pluggability</id>
-
- <goals>
- <goal>test</goal>
- </goals>
-
- <configuration>
- <dependenciesToScan>jakarta.json:jakarta.json-tck-tests-pluggability</dependenciesToScan>
-
- <classpathDependencyExcludes>
- <classpathDependencyExclude>jakarta.json:jakarta.json-tck-tests</classpathDependencyExclude>
- </classpathDependencyExcludes>
- </configuration>
- </execution>
-
- <execution>
- <id>tck</id>
-
- <goals>
- <goal>test</goal>
- </goals>
-
- <configuration>
- <dependenciesToScan>jakarta.json:jakarta.json-tck-tests</dependenciesToScan>
-
- <systemProperties>
- <jimage.dir>${project.build.directory}/jimage</jimage.dir>
- <signature.sigTestClasspath>${project.build.directory}/signaturedirectory/jakarta.json-api.jar:${project.build.directory}/jimage/java.base:${project.build.directory}/jimage/java.rmi:${project.build.directory}/jimage/java.sql:${project.build.directory}/jimage/java.naming</signature.sigTestClasspath>
- </systemProperties>
-
- <classpathDependencyExcludes>
- <classpathDependencyExclude>jakarta.json:jakarta.json-tck-tests-pluggability</classpathDependencyExclude>
- </classpathDependencyExcludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-
-</project>
diff --git a/tck/pom.xml b/tck/pom.xml
deleted file mode 100644
index 46442ed..0000000
--- a/tck/pom.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>johnzon</artifactId>
- <groupId>org.apache.johnzon</groupId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>tck</artifactId>
- <name>Johnzon :: TCK</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>jsonb</module>
- <module>jsonp</module>
- </modules>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>3.2.0</version>
- <executions>
- <execution>
- <id>copy</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>copy</goal>
- </goals>
-
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>jakarta.json</groupId>
- <artifactId>jakarta.json-api</artifactId>
- <version>${jakarta-jsonp-api.version}</version>
- <type>jar</type>
- <overWrite>true</overWrite>
- <outputDirectory>${project.build.directory}/signaturedirectory</outputDirectory>
- <destFileName>jakarta.json-api.jar</destFileName>
- </artifactItem>
-
- <artifactItem>
- <groupId>jakarta.json.bind</groupId>
- <artifactId>jakarta.json.bind-api</artifactId>
- <version>${jakarta-jsonb-api.version}</version>
- <type>jar</type>
- <overWrite>true</overWrite>
- <outputDirectory>${project.build.directory}/signaturedirectory</outputDirectory>
- <destFileName>jakarta.json.bind-api.jar</destFileName>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
-</project>