Skip to content

Commit e522bea

Browse files
committed
Upgrade baseline to Java 17 and Jakarata EE 9
Closes gh-426
1 parent ae8c68d commit e522bea

File tree

14 files changed

+57
-55
lines changed

14 files changed

+57
-55
lines changed

Diff for: build.gradle

+23-22
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
plugins {
22
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
3-
id 'org.jetbrains.kotlin.jvm' version '1.6.20' apply false
3+
id 'org.jetbrains.kotlin.jvm' version '1.7.0' apply false
44
}
55

66
ext {
77
moduleProjects = [project(":spring-graphql"), project(":spring-graphql-test")]
88
graphQlJavaVersion = "18.1"
9-
bootVersion = "2.7.0-SNAPSHOT"
9+
bootVersion = "3.0.0-SNAPSHOT"
1010
}
1111

1212
description = "Spring for GraphQL"
@@ -33,23 +33,23 @@ configure(moduleProjects) {
3333
apply plugin: 'org.springframework.graphql.compiler'
3434

3535
java {
36-
sourceCompatibility = JavaVersion.VERSION_1_8
37-
targetCompatibility = JavaVersion.VERSION_1_8
36+
sourceCompatibility = JavaVersion.VERSION_17
37+
targetCompatibility = JavaVersion.VERSION_17
3838
}
3939

4040
pluginManager.withPlugin("kotlin") {
4141
compileKotlin {
4242
kotlinOptions {
43-
jvmTarget = "1.8"
44-
languageVersion = "1.3"
45-
apiVersion = "1.3"
43+
jvmTarget = "17"
44+
languageVersion = "1.7"
45+
apiVersion = "1.7"
4646
freeCompilerArgs = ["-Xjsr305=strict", "-Xsuppress-version-warnings", "-opt-in=kotlin.RequiresOptIn"]
4747
allWarningsAsErrors = true
4848
}
4949
}
5050
compileTestKotlin {
5151
kotlinOptions {
52-
jvmTarget = "1.8"
52+
jvmTarget = "17"
5353
freeCompilerArgs = ["-Xjsr305=strict"]
5454
}
5555
}
@@ -58,29 +58,30 @@ configure(moduleProjects) {
5858
dependencyManagement {
5959
imports {
6060
mavenBom "com.fasterxml.jackson:jackson-bom:2.13.3"
61-
mavenBom "io.projectreactor:reactor-bom:2020.0.19"
62-
mavenBom "org.springframework:spring-framework-bom:5.3.20"
63-
mavenBom "org.springframework.data:spring-data-bom:2021.2.0"
64-
mavenBom "org.springframework.security:spring-security-bom:5.7.0"
61+
mavenBom "io.projectreactor:reactor-bom:2022.0.0-M2"
62+
mavenBom "org.springframework:spring-framework-bom:6.0.0-SNAPSHOT"
63+
mavenBom "org.springframework.data:spring-data-bom:2022.0.0-M4"
64+
mavenBom "org.springframework.security:spring-security-bom:6.0.0-M5"
6565
mavenBom "com.querydsl:querydsl-bom:5.0.0"
6666
mavenBom "io.rsocket:rsocket-bom:1.1.2"
67-
mavenBom "org.jetbrains.kotlin:kotlin-bom:1.6.21"
67+
mavenBom "org.jetbrains.kotlin:kotlin-bom:1.7.0"
6868
mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.1"
6969
mavenBom "org.junit:junit-bom:5.8.2"
7070
mavenBom "org.testcontainers:testcontainers-bom:1.17.1"
7171
}
7272
dependencies {
7373
dependency "com.graphql-java:graphql-java:${graphQlJavaVersion}"
74-
dependency "javax.annotation:javax.annotation-api:1.3.2"
75-
dependency "javax.servlet:javax.servlet-api:4.0.1"
74+
dependency "jakarta.annotation:jakarta.annotation-api:2.0.0"
75+
dependency "jakarta.persistence:jakarta.persistence-api:3.0.0"
76+
dependency "jakarta.servlet:jakarta.servlet-api:5.0.0"
7677
dependency "com.google.code.findbugs:jsr305:3.0.2"
77-
dependency "org.assertj:assertj-core:3.22.0"
78+
dependency "org.assertj:assertj-core:3.23.1"
7879
dependency "com.jayway.jsonpath:json-path:2.7.0"
7980
dependency "org.skyscreamer:jsonassert:1.5.0"
8081
dependency "com.h2database:h2:2.1.212"
81-
dependency "javax.validation:validation-api:2.0.1.Final"
82-
dependency "org.hibernate:hibernate-core:5.6.8.Final"
83-
dependency "org.hibernate.validator:hibernate-validator:6.2.3.Final"
82+
dependency "jakarta.validation:jakarta.validation-api:3.0.1"
83+
dependency "org.hibernate:hibernate-core-jakarta:5.6.9.Final"
84+
dependency "org.hibernate.validator:hibernate-validator:7.0.4.Final"
8485
dependencySet(group: 'org.mongodb', version: '4.6.0') {
8586
entry 'bson'
8687
entry 'mongodb-driver-core'
@@ -93,7 +94,7 @@ configure(moduleProjects) {
9394
entry 'log4j-jul'
9495
entry 'log4j-slf4j-impl'
9596
}
96-
dependencySet(group: 'org.mockito', version: '4.5.1') {
97+
dependencySet(group: 'org.mockito', version: '4.6.1') {
9798
entry 'mockito-core'
9899
entry 'mockito-inline'
99100
entry 'mockito-junit-jupiter'
@@ -105,8 +106,8 @@ configure(moduleProjects) {
105106
}
106107

107108
ext.javadocLinks = [
108-
"https://docs.oracle.com/javase/8/docs/api/",
109-
"https://docs.spring.io/spring-framework/docs/5.3.x/javadoc-api/",
109+
"https://docs.oracle.com/en/java/javase/17/docs/api/",
110+
"https://docs.spring.io/spring-framework/docs/6.0.x/javadoc-api/",
110111
"https://javadoc.io/doc/com.graphql-java/graphql-java/18.1/"
111112
] as String[]
112113

Diff for: buildSrc/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ repositories {
99
maven { url "https://repo.spring.io/release" }
1010
}
1111

12-
sourceCompatibility = 1.8
13-
targetCompatibility = 1.8
12+
sourceCompatibility = 17
13+
targetCompatibility = 17
1414

1515
dependencies {
1616
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}"

Diff for: spring-graphql-test/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ dependencies {
88
api 'org.springframework:spring-test'
99
api 'com.jayway.jsonpath:json-path'
1010

11-
compileOnly 'javax.annotation:javax.annotation-api'
11+
compileOnly 'jakarta.annotation:jakarta.annotation-api'
1212
compileOnly 'org.springframework:spring-webflux'
1313
compileOnly 'org.springframework:spring-webmvc'
1414
compileOnly 'org.springframework:spring-websocket'
1515
compileOnly 'org.springframework:spring-messaging'
16-
compileOnly 'javax.servlet:javax.servlet-api'
16+
compileOnly 'jakarta.servlet:jakarta.servlet-api'
1717
compileOnly 'io.rsocket:rsocket-core'
1818
compileOnly 'io.rsocket:rsocket-transport-netty'
1919
compileOnly 'org.skyscreamer:jsonassert'

Diff for: spring-graphql/build.gradle

+8-7
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ dependencies {
77
api 'io.projectreactor:reactor-core'
88
api 'org.springframework:spring-context'
99

10-
compileOnly 'javax.annotation:javax.annotation-api'
10+
compileOnly 'jakarta.annotation:jakarta.annotation-api'
1111
compileOnly 'org.springframework:spring-webflux'
1212
compileOnly 'org.springframework:spring-webmvc'
1313
compileOnly 'org.springframework:spring-websocket'
1414
compileOnly 'org.springframework:spring-messaging'
15-
compileOnly 'javax.servlet:javax.servlet-api'
16-
compileOnly 'javax.validation:validation-api'
15+
compileOnly 'jakarta.servlet:jakarta.servlet-api'
16+
compileOnly 'jakarta.validation:jakarta.validation-api'
1717

1818
compileOnly 'org.springframework.security:spring-security-core'
1919

@@ -42,7 +42,7 @@ dependencies {
4242
testImplementation 'org.springframework.data:spring-data-keyvalue'
4343
testImplementation 'org.springframework.data:spring-data-jpa'
4444
testImplementation 'com.h2database:h2'
45-
testImplementation 'org.hibernate:hibernate-core'
45+
testImplementation 'org.hibernate:hibernate-core-jakarta'
4646
testImplementation 'org.hibernate.validator:hibernate-validator'
4747
testImplementation 'org.springframework.data:spring-data-mongodb'
4848
testImplementation 'org.mongodb:mongodb-driver-sync'
@@ -52,13 +52,14 @@ dependencies {
5252
testImplementation 'org.springframework.security:spring-security-core'
5353
testImplementation 'com.querydsl:querydsl-core'
5454
testImplementation 'com.querydsl:querydsl-collections'
55-
testImplementation 'javax.servlet:javax.servlet-api'
55+
testImplementation 'jakarta.servlet:jakarta.servlet-api'
5656
testImplementation 'com.squareup.okhttp3:mockwebserver:3.14.9'
5757
testImplementation 'io.rsocket:rsocket-transport-local'
58-
testImplementation 'javax.validation:validation-api'
58+
testImplementation 'jakarta.persistence:jakarta.persistence-api'
59+
testImplementation 'jakarta.validation:jakarta.validation-api'
5960
testImplementation 'com.jayway.jsonpath:json-path'
6061
testImplementation 'com.fasterxml.jackson.core:jackson-databind'
61-
testImplementation 'org.apache.tomcat.embed:tomcat-embed-el:9.0.55'
62+
testImplementation 'org.apache.tomcat.embed:tomcat-embed-el:10.0.21'
6263

6364
testRuntimeOnly 'org.apache.logging.log4j:log4j-core'
6465
testRuntimeOnly 'org.apache.logging.log4j:log4j-slf4j-impl'

Diff for: spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerConfigurer.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import java.util.concurrent.Executor;
3030
import java.util.stream.Collectors;
3131

32-
import javax.validation.Validator;
32+
import jakarta.validation.Validator;
3333

3434
import graphql.schema.DataFetcher;
3535
import graphql.schema.DataFetchingEnvironment;
@@ -109,7 +109,7 @@ public class AnnotatedControllerConfigurer
109109
AnnotatedControllerConfigurer.class.getClassLoader());
110110

111111
private final static boolean beanValidationPresent = ClassUtils.isPresent(
112-
"javax.validation.executable.ExecutableValidator",
112+
"jakarta.validation.executable.ExecutableValidator",
113113
AnnotatedControllerConfigurer.class.getClassLoader());
114114

115115

Diff for: spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidator.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818

1919
import java.util.Set;
2020

21-
import javax.validation.ConstraintViolation;
22-
import javax.validation.ConstraintViolationException;
23-
import javax.validation.Validation;
24-
import javax.validation.Validator;
21+
import jakarta.validation.ConstraintViolation;
22+
import jakarta.validation.ConstraintViolationException;
23+
import jakarta.validation.Validation;
24+
import jakarta.validation.Validator;
2525

2626
import org.springframework.core.annotation.AnnotationUtils;
2727
import org.springframework.graphql.data.method.HandlerMethod;

Diff for: spring-graphql/src/main/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
import java.util.List;
2222
import java.util.Map;
2323

24-
import javax.servlet.ServletException;
2524

25+
import jakarta.servlet.ServletException;
2626
import org.apache.commons.logging.Log;
2727
import org.apache.commons.logging.LogFactory;
2828
import reactor.core.publisher.Mono;

Diff for: spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/HandlerMethodInputValidatorTests.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import java.lang.reflect.Method;
2222
import java.util.Arrays;
2323

24-
import javax.validation.ConstraintViolation;
25-
import javax.validation.ConstraintViolationException;
26-
import javax.validation.constraints.Max;
27-
import javax.validation.constraints.NotNull;
24+
import jakarta.validation.ConstraintViolation;
25+
import jakarta.validation.ConstraintViolationException;
26+
import jakarta.validation.constraints.Max;
27+
import jakarta.validation.constraints.NotNull;
2828

2929
import org.assertj.core.api.InstanceOfAssertFactories;
3030
import org.assertj.core.api.IterableAssert;

Diff for: spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Author.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
*/
1616
package org.springframework.graphql.data.query.jpa;
1717

18-
import javax.persistence.Entity;
19-
import javax.persistence.Id;
18+
import jakarta.persistence.Entity;
19+
import jakarta.persistence.Id;
2020

2121
@Entity
2222
public class Author {

Diff for: spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/Book.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616

1717
package org.springframework.graphql.data.query.jpa;
1818

19-
import javax.persistence.CascadeType;
20-
import javax.persistence.Entity;
21-
import javax.persistence.Id;
22-
import javax.persistence.OneToOne;
19+
import jakarta.persistence.CascadeType;
20+
import jakarta.persistence.Entity;
21+
import jakarta.persistence.Id;
22+
import jakarta.persistence.OneToOne;
2323

2424
@Entity
2525
public class Book {

Diff for: spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
import java.util.function.Consumer;
2525
import java.util.stream.Collectors;
2626

27-
import javax.persistence.EntityManagerFactory;
2827
import javax.sql.DataSource;
28+
import jakarta.persistence.EntityManagerFactory;
2929

3030
import graphql.schema.DataFetcher;
3131
import org.junit.jupiter.api.Disabled;
@@ -44,8 +44,8 @@
4444
import org.springframework.graphql.ResponseHelper;
4545
import org.springframework.graphql.data.query.QueryByExampleDataFetcher;
4646
import org.springframework.graphql.execution.RuntimeWiringConfigurer;
47-
import org.springframework.graphql.server.WebGraphQlRequest;
4847
import org.springframework.graphql.server.WebGraphQlHandler;
48+
import org.springframework.graphql.server.WebGraphQlRequest;
4949
import org.springframework.graphql.server.WebGraphQlResponse;
5050
import org.springframework.http.HttpHeaders;
5151
import org.springframework.jdbc.datasource.DriverManagerDataSource;

Diff for: spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphQlHttpHandlerTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.Locale;
2323
import java.util.UUID;
2424

25-
import javax.servlet.ServletException;
25+
import jakarta.servlet.ServletException;
2626

2727
import com.jayway.jsonpath.DocumentContext;
2828
import com.jayway.jsonpath.JsonPath;

Diff for: spring-graphql/src/test/java/org/springframework/graphql/server/webmvc/GraphiQlHandlerTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.Collections;
2323
import java.util.List;
2424

25-
import javax.servlet.ServletException;
25+
import jakarta.servlet.ServletException;
2626

2727
import org.junit.jupiter.api.Test;
2828

Diff for: src/checkstyle/checkstyle.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<property name="id" value="mainCodeIllegalImportCheck"/>
1515
<property name="regexp" value="true" />
1616
<property name="illegalClasses"
17-
value="^javax.annotation.PostConstruct"/>
17+
value="^jakarta.annotation.PostConstruct"/>
1818
</module>
1919
<module
2020
name="com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheck">

0 commit comments

Comments
 (0)