diff --git a/build.gradle b/build.gradle
index 4de7ec2a..aaf547d9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,12 +1,12 @@
plugins {
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
- id 'org.jetbrains.kotlin.jvm' version '1.6.20' apply false
+ id 'org.jetbrains.kotlin.jvm' version '1.7.0' apply false
}
ext {
moduleProjects = [project(":spring-graphql"), project(":spring-graphql-test")]
graphQlJavaVersion = "18.1"
- bootVersion = "2.7.0-SNAPSHOT"
+ bootVersion = "3.0.0-SNAPSHOT"
}
description = "Spring for GraphQL"
@@ -33,23 +33,23 @@ configure(moduleProjects) {
apply plugin: 'org.springframework.graphql.compiler'
java {
- sourceCompatibility = JavaVersion.VERSION_1_8
- targetCompatibility = JavaVersion.VERSION_1_8
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
}
pluginManager.withPlugin("kotlin") {
compileKotlin {
kotlinOptions {
- jvmTarget = "1.8"
- languageVersion = "1.3"
- apiVersion = "1.3"
+ jvmTarget = "17"
+ languageVersion = "1.7"
+ apiVersion = "1.7"
freeCompilerArgs = ["-Xjsr305=strict", "-Xsuppress-version-warnings", "-opt-in=kotlin.RequiresOptIn"]
allWarningsAsErrors = true
}
}
compileTestKotlin {
kotlinOptions {
- jvmTarget = "1.8"
+ jvmTarget = "17"
freeCompilerArgs = ["-Xjsr305=strict"]
}
}
@@ -58,29 +58,30 @@ configure(moduleProjects) {
dependencyManagement {
imports {
mavenBom "com.fasterxml.jackson:jackson-bom:2.13.3"
- mavenBom "io.projectreactor:reactor-bom:2020.0.19"
- mavenBom "org.springframework:spring-framework-bom:5.3.20"
- mavenBom "org.springframework.data:spring-data-bom:2021.2.0"
- mavenBom "org.springframework.security:spring-security-bom:5.7.0"
+ mavenBom "io.projectreactor:reactor-bom:2022.0.0-M2"
+ mavenBom "org.springframework:spring-framework-bom:6.0.0-SNAPSHOT"
+ mavenBom "org.springframework.data:spring-data-bom:2022.0.0-M4"
+ mavenBom "org.springframework.security:spring-security-bom:6.0.0-M5"
mavenBom "com.querydsl:querydsl-bom:5.0.0"
mavenBom "io.rsocket:rsocket-bom:1.1.2"
- mavenBom "org.jetbrains.kotlin:kotlin-bom:1.6.21"
+ mavenBom "org.jetbrains.kotlin:kotlin-bom:1.7.0"
mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.1"
mavenBom "org.junit:junit-bom:5.8.2"
mavenBom "org.testcontainers:testcontainers-bom:1.17.1"
}
dependencies {
dependency "com.graphql-java:graphql-java:${graphQlJavaVersion}"
- dependency "javax.annotation:javax.annotation-api:1.3.2"
- dependency "javax.servlet:javax.servlet-api:4.0.1"
+ dependency "jakarta.annotation:jakarta.annotation-api:2.0.0"
+ dependency "jakarta.persistence:jakarta.persistence-api:3.0.0"
+ dependency "jakarta.servlet:jakarta.servlet-api:5.0.0"
dependency "com.google.code.findbugs:jsr305:3.0.2"
- dependency "org.assertj:assertj-core:3.22.0"
+ dependency "org.assertj:assertj-core:3.23.1"
dependency "com.jayway.jsonpath:json-path:2.7.0"
dependency "org.skyscreamer:jsonassert:1.5.0"
dependency "com.h2database:h2:2.1.212"
- dependency "javax.validation:validation-api:2.0.1.Final"
- dependency "org.hibernate:hibernate-core:5.6.8.Final"
- dependency "org.hibernate.validator:hibernate-validator:6.2.3.Final"
+ dependency "jakarta.validation:jakarta.validation-api:3.0.1"
+ dependency "org.hibernate:hibernate-core-jakarta:5.6.9.Final"
+ dependency "org.hibernate.validator:hibernate-validator:7.0.4.Final"
dependencySet(group: 'org.mongodb', version: '4.6.0') {
entry 'bson'
entry 'mongodb-driver-core'
@@ -93,7 +94,7 @@ configure(moduleProjects) {
entry 'log4j-jul'
entry 'log4j-slf4j-impl'
}
- dependencySet(group: 'org.mockito', version: '4.5.1') {
+ dependencySet(group: 'org.mockito', version: '4.6.1') {
entry 'mockito-core'
entry 'mockito-inline'
entry 'mockito-junit-jupiter'
@@ -105,8 +106,8 @@ configure(moduleProjects) {
}
ext.javadocLinks = [
- "https://docs.oracle.com/javase/8/docs/api/",
- "https://docs.spring.io/spring-framework/docs/5.3.x/javadoc-api/",
+ "https://docs.oracle.com/en/java/javase/17/docs/api/",
+ "https://docs.spring.io/spring-framework/docs/6.0.x/javadoc-api/",
"https://javadoc.io/doc/com.graphql-java/graphql-java/18.1/"
] as String[]
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index b85a5dbf..bec45191 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -9,8 +9,8 @@ repositories {
maven { url "https://repo.spring.io/release" }
}
-sourceCompatibility = 1.8
-targetCompatibility = 1.8
+sourceCompatibility = 17
+targetCompatibility = 17
dependencies {
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}"
diff --git a/spring-graphql-test/build.gradle b/spring-graphql-test/build.gradle
index 9037dbbf..9bf491ac 100644
--- a/spring-graphql-test/build.gradle
+++ b/spring-graphql-test/build.gradle
@@ -8,12 +8,12 @@ dependencies {
api 'org.springframework:spring-test'
api 'com.jayway.jsonpath:json-path'
- compileOnly 'javax.annotation:javax.annotation-api'
+ compileOnly 'jakarta.annotation:jakarta.annotation-api'
compileOnly 'org.springframework:spring-webflux'
compileOnly 'org.springframework:spring-webmvc'
compileOnly 'org.springframework:spring-websocket'
compileOnly 'org.springframework:spring-messaging'
- compileOnly 'javax.servlet:javax.servlet-api'
+ compileOnly 'jakarta.servlet:jakarta.servlet-api'
compileOnly 'io.rsocket:rsocket-core'
compileOnly 'io.rsocket:rsocket-transport-netty'
compileOnly 'org.skyscreamer:jsonassert'
diff --git a/spring-graphql/build.gradle b/spring-graphql/build.gradle
index 192ef76f..66311ff6 100644
--- a/spring-graphql/build.gradle
+++ b/spring-graphql/build.gradle
@@ -7,13 +7,13 @@ dependencies {
api 'io.projectreactor:reactor-core'
api 'org.springframework:spring-context'
- compileOnly 'javax.annotation:javax.annotation-api'
+ compileOnly 'jakarta.annotation:jakarta.annotation-api'
compileOnly 'org.springframework:spring-webflux'
compileOnly 'org.springframework:spring-webmvc'
compileOnly 'org.springframework:spring-websocket'
compileOnly 'org.springframework:spring-messaging'
- compileOnly 'javax.servlet:javax.servlet-api'
- compileOnly 'javax.validation:validation-api'
+ compileOnly 'jakarta.servlet:jakarta.servlet-api'
+ compileOnly 'jakarta.validation:jakarta.validation-api'
compileOnly 'org.springframework.security:spring-security-core'
@@ -42,7 +42,7 @@ dependencies {
testImplementation 'org.springframework.data:spring-data-keyvalue'
testImplementation 'org.springframework.data:spring-data-jpa'
testImplementation 'com.h2database:h2'
- testImplementation 'org.hibernate:hibernate-core'
+ testImplementation 'org.hibernate:hibernate-core-jakarta'
testImplementation 'org.hibernate.validator:hibernate-validator'
testImplementation 'org.springframework.data:spring-data-mongodb'
testImplementation 'org.mongodb:mongodb-driver-sync'
@@ -52,13 +52,14 @@ dependencies {
testImplementation 'org.springframework.security:spring-security-core'
testImplementation 'com.querydsl:querydsl-core'
testImplementation 'com.querydsl:querydsl-collections'
- testImplementation 'javax.servlet:javax.servlet-api'
+ testImplementation 'jakarta.servlet:jakarta.servlet-api'
testImplementation 'com.squareup.okhttp3:mockwebserver:3.14.9'
testImplementation 'io.rsocket:rsocket-transport-local'
- testImplementation 'javax.validation:validation-api'
+ testImplementation 'jakarta.persistence:jakarta.persistence-api'
+ testImplementation 'jakarta.validation:jakarta.validation-api'
testImplementation 'com.jayway.jsonpath:json-path'
testImplementation 'com.fasterxml.jackson.core:jackson-databind'
- testImplementation 'org.apache.tomcat.embed:tomcat-embed-el:9.0.55'
+ testImplementation 'org.apache.tomcat.embed:tomcat-embed-el:10.0.21'
testRuntimeOnly 'org.apache.logging.log4j:log4j-core'
testRuntimeOnly 'org.apache.logging.log4j:log4j-slf4j-impl'
diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerConfigurer.java b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerConfigurer.java
index 1dc67894..5b60fe7d 100644
--- a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerConfigurer.java
+++ b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerConfigurer.java
@@ -29,7 +29,7 @@ import java.util.concurrent.Callable;
import java.util.concurrent.Executor;
import java.util.stream.Collectors;
-import javax.validation.Validator;
+import jakarta.validation.Validator;
import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
@@ -109,7 +109,7 @@ public class AnnotatedControllerConfigurer
AnnotatedControllerConfigurer.class.getClassLoader());
private final static boolean beanValidationPresent = ClassUtils.isPresent(
- "javax.validation.executable.ExecutableValidator",
+ "jakarta.validation.executable.ExecutableValidator",
AnnotatedControllerConfigurer.class.getClassLoader());
diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidator.java b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidator.java
index d775ca56..94798183 100644
--- a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidator.java
+++ b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidator.java
@@ -18,10 +18,10 @@ package org.springframework.graphql.data.method.annotation.support;
import java.util.Set;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.Validation;
-import javax.validation.Validator;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.graphql.data.method.HandlerMethod;
diff --git a/spring-graphql/src/main/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandler.java b/spring-graphql/src/main/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandler.java
index 4b8eced7..1189854f 100644
--- a/spring-graphql/src/main/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandler.java
+++ b/spring-graphql/src/main/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandler.java
@@ -21,8 +21,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import reactor.core.publisher.Mono;
diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidatorTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidatorTests.java
index b7c6955e..cedd8f2b 100644
--- a/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidatorTests.java
+++ b/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidatorTests.java
@@ -21,10 +21,10 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
import java.util.Arrays;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.NotNull;
import org.assertj.core.api.InstanceOfAssertFactories;
import org.assertj.core.api.IterableAssert;
diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Author.java b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Author.java
index 36f62030..38c338fa 100644
--- a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Author.java
+++ b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Author.java
@@ -15,8 +15,8 @@
*/
package org.springframework.graphql.data.query.jpa;
-import javax.persistence.Entity;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
@Entity
public class Author {
diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Book.java b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Book.java
index c549d3d1..6ee7820d 100644
--- a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Book.java
+++ b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Book.java
@@ -16,10 +16,10 @@
package org.springframework.graphql.data.query.jpa;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.OneToOne;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToOne;
@Entity
public class Book {
diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java
index b71e2a70..6a5d63a6 100644
--- a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java
+++ b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java
@@ -24,8 +24,8 @@ import java.util.Optional;
import java.util.function.Consumer;
import java.util.stream.Collectors;
-import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
+import jakarta.persistence.EntityManagerFactory;
import graphql.schema.DataFetcher;
import org.junit.jupiter.api.Disabled;
@@ -44,8 +44,8 @@ import org.springframework.graphql.GraphQlSetup;
import org.springframework.graphql.ResponseHelper;
import org.springframework.graphql.data.query.QueryByExampleDataFetcher;
import org.springframework.graphql.execution.RuntimeWiringConfigurer;
-import org.springframework.graphql.server.WebGraphQlRequest;
import org.springframework.graphql.server.WebGraphQlHandler;
+import org.springframework.graphql.server.WebGraphQlRequest;
import org.springframework.graphql.server.WebGraphQlResponse;
import org.springframework.http.HttpHeaders;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
diff --git a/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandlerTests.java b/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandlerTests.java
index ef9b1a05..1a3e5713 100644
--- a/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandlerTests.java
+++ b/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandlerTests.java
@@ -22,7 +22,7 @@ import java.util.List;
import java.util.Locale;
import java.util.UUID;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;
diff --git a/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphiQlHandlerTests.java b/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphiQlHandlerTests.java
index d1673a9b..4a4801b9 100644
--- a/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphiQlHandlerTests.java
+++ b/spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphiQlHandlerTests.java
@@ -22,7 +22,7 @@ import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
import org.junit.jupiter.api.Test;
diff --git a/src/checkstyle/checkstyle.xml b/src/checkstyle/checkstyle.xml
index 9475dbe7..2853a86c 100644
--- a/src/checkstyle/checkstyle.xml
+++ b/src/checkstyle/checkstyle.xml
@@ -14,7 +14,7 @@
+ value="^jakarta.annotation.PostConstruct"/>