Skip to content

Commit 957385e

Browse files
feature: upgrade to Java 17 and Spring Boot 3.2.5
Co-Authored-By: Amit Manchella <amit.manchella@cognition.ai>
1 parent c20e1f6 commit 957385e

25 files changed

Lines changed: 103 additions & 98 deletions

.github/workflows/gradle.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ jobs:
1717

1818
steps:
1919
- uses: actions/checkout@v2
20-
- name: Set up JDK 11
20+
- name: Set up JDK 17
2121
uses: actions/setup-java@v2
2222
with:
2323
distribution: zulu
24-
java-version: '11'
24+
java-version: '17'
2525
- uses: actions/cache@v2
2626
with:
2727
path: |

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ It uses a ~~H2 in-memory database~~ sqlite database (for easy local test without
4444

4545
# Getting started
4646

47-
You'll need Java 11 installed.
47+
You'll need Java 17 installed.
4848

4949
./gradlew bootRun
5050

build.gradle

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
plugins {
2-
id 'org.springframework.boot' version '2.6.3'
3-
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
2+
id 'org.springframework.boot' version '3.2.5'
3+
id 'io.spring.dependency-management' version '1.1.4'
44
id 'java'
5-
id "com.netflix.dgs.codegen" version "5.0.6"
6-
id "com.diffplug.spotless" version "6.2.1"
5+
id "com.netflix.dgs.codegen" version "6.0.3"
6+
id "com.diffplug.spotless" version "6.25.0"
77
}
88

99
version = '0.0.1-SNAPSHOT'
10-
sourceCompatibility = '11'
11-
targetCompatibility = '11'
10+
sourceCompatibility = '17'
11+
targetCompatibility = '17'
1212

1313
spotless {
1414
java {
1515
target project.fileTree(project.rootDir) {
1616
include '**/*.java'
17-
exclude 'build/generated/**/*.*', 'build/generated-examples/**/*.*'
17+
exclude 'build/**', 'frontend/**'
1818
}
1919
googleJavaFormat()
2020
}
@@ -35,25 +35,25 @@ dependencies {
3535
implementation 'org.springframework.boot:spring-boot-starter-validation'
3636
implementation 'org.springframework.boot:spring-boot-starter-hateoas'
3737
implementation 'org.springframework.boot:spring-boot-starter-security'
38-
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2'
39-
implementation 'com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter:4.9.21'
38+
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
39+
implementation 'com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter:8.5.8'
4040
implementation 'org.flywaydb:flyway-core'
41-
implementation 'io.jsonwebtoken:jjwt-api:0.11.2'
42-
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.2',
43-
'io.jsonwebtoken:jjwt-jackson:0.11.2'
44-
implementation 'joda-time:joda-time:2.10.13'
45-
implementation 'org.xerial:sqlite-jdbc:3.36.0.3'
41+
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
42+
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5',
43+
'io.jsonwebtoken:jjwt-jackson:0.11.5'
44+
implementation 'joda-time:joda-time:2.12.7'
45+
implementation 'org.xerial:sqlite-jdbc:3.45.3.0'
4646

4747
compileOnly 'org.projectlombok:lombok'
4848
annotationProcessor 'org.projectlombok:lombok'
4949

50-
testImplementation 'io.rest-assured:rest-assured:4.5.1'
51-
testImplementation 'io.rest-assured:json-path:4.5.1'
52-
testImplementation 'io.rest-assured:xml-path:4.5.1'
53-
testImplementation 'io.rest-assured:spring-mock-mvc:4.5.1'
50+
testImplementation 'io.rest-assured:rest-assured:5.4.0'
51+
testImplementation 'io.rest-assured:json-path:5.4.0'
52+
testImplementation 'io.rest-assured:xml-path:5.4.0'
53+
testImplementation 'io.rest-assured:spring-mock-mvc:5.4.0'
5454
testImplementation 'org.springframework.security:spring-security-test'
5555
testImplementation 'org.springframework.boot:spring-boot-starter-test'
56-
testImplementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.2.2'
56+
testImplementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter-test:3.0.3'
5757
}
5858

5959
tasks.named('test') {
@@ -69,4 +69,5 @@ tasks.named('clean') {
6969
tasks.named('generateJava') {
7070
schemaPaths = ["${projectDir}/src/main/resources/schema"] // List of directories containing schema files
7171
packageName = 'io.spring.graphql' // The package name to use to generate sources
72+
typeMapping = ["PageInfo": "graphql.relay.PageInfo"]
7273
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

src/main/java/io/spring/api/ArticleApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
import io.spring.core.article.ArticleRepository;
1111
import io.spring.core.service.AuthorizationService;
1212
import io.spring.core.user.User;
13+
import jakarta.validation.Valid;
1314
import java.util.HashMap;
1415
import java.util.Map;
15-
import javax.validation.Valid;
1616
import lombok.AllArgsConstructor;
1717
import org.springframework.http.ResponseEntity;
1818
import org.springframework.security.core.annotation.AuthenticationPrincipal;

src/main/java/io/spring/api/ArticlesApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import io.spring.application.article.NewArticleParam;
77
import io.spring.core.article.Article;
88
import io.spring.core.user.User;
9+
import jakarta.validation.Valid;
910
import java.util.HashMap;
10-
import javax.validation.Valid;
1111
import lombok.AllArgsConstructor;
1212
import org.springframework.http.ResponseEntity;
1313
import org.springframework.security.core.annotation.AuthenticationPrincipal;

src/main/java/io/spring/api/CommentsApi.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
import io.spring.core.comment.CommentRepository;
1212
import io.spring.core.service.AuthorizationService;
1313
import io.spring.core.user.User;
14+
import jakarta.validation.Valid;
15+
import jakarta.validation.constraints.NotBlank;
1416
import java.util.HashMap;
1517
import java.util.List;
1618
import java.util.Map;
17-
import javax.validation.Valid;
18-
import javax.validation.constraints.NotBlank;
1919
import lombok.AllArgsConstructor;
2020
import lombok.Getter;
2121
import lombok.NoArgsConstructor;

src/main/java/io/spring/api/CurrentUserApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
import io.spring.application.user.UpdateUserParam;
88
import io.spring.application.user.UserService;
99
import io.spring.core.user.User;
10+
import jakarta.validation.Valid;
1011
import java.util.HashMap;
1112
import java.util.Map;
12-
import javax.validation.Valid;
1313
import lombok.AllArgsConstructor;
1414
import org.springframework.http.ResponseEntity;
1515
import org.springframework.security.core.annotation.AuthenticationPrincipal;

src/main/java/io/spring/api/UsersApi.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
import io.spring.core.service.JwtService;
1313
import io.spring.core.user.User;
1414
import io.spring.core.user.UserRepository;
15+
import jakarta.validation.Valid;
16+
import jakarta.validation.constraints.Email;
17+
import jakarta.validation.constraints.NotBlank;
1518
import java.util.HashMap;
1619
import java.util.Map;
1720
import java.util.Optional;
18-
import javax.validation.Valid;
19-
import javax.validation.constraints.Email;
20-
import javax.validation.constraints.NotBlank;
2121
import lombok.AllArgsConstructor;
2222
import lombok.Getter;
2323
import lombok.NoArgsConstructor;

src/main/java/io/spring/api/exception/CustomizeExceptionHandler.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import static org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY;
44

5+
import jakarta.validation.ConstraintViolation;
6+
import jakarta.validation.ConstraintViolationException;
57
import java.util.ArrayList;
68
import java.util.Arrays;
79
import java.util.HashMap;
810
import java.util.List;
911
import java.util.stream.Collectors;
10-
import javax.validation.ConstraintViolation;
11-
import javax.validation.ConstraintViolationException;
1212
import org.springframework.http.HttpHeaders;
13-
import org.springframework.http.HttpStatus;
13+
import org.springframework.http.HttpStatusCode;
1414
import org.springframework.http.MediaType;
1515
import org.springframework.http.ResponseEntity;
1616
import org.springframework.web.bind.MethodArgumentNotValidException;
@@ -63,7 +63,7 @@ public ResponseEntity<Object> handleInvalidAuthentication(
6363
protected ResponseEntity<Object> handleMethodArgumentNotValid(
6464
MethodArgumentNotValidException e,
6565
HttpHeaders headers,
66-
HttpStatus status,
66+
HttpStatusCode status,
6767
WebRequest request) {
6868
List<FieldErrorResource> errorResources =
6969
e.getBindingResult().getFieldErrors().stream()

0 commit comments

Comments
 (0)