diff --git a/build.gradle b/build.gradle index 4ae3f6b6..efb99a09 100644 --- a/build.gradle +++ b/build.gradle @@ -28,6 +28,7 @@ subprojects { configure(moduleProjects) { apply plugin: 'java-library' + apply plugin: 'org.springframework.graphql.compiler' java { sourceCompatibility = JavaVersion.VERSION_1_8 @@ -41,17 +42,33 @@ configure(moduleProjects) { mavenBom "org.springframework:spring-framework-bom:5.3.9" mavenBom "org.springframework.data:spring-data-bom:2021.0.4" mavenBom "org.springframework.security:spring-security-bom:5.5.2" + mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.5.2" mavenBom "org.junit:junit-bom:5.7.2" } dependencies { dependency "com.graphql-java:graphql-java:${graphQlJavaVersion}" - dependency 'org.assertj:assertj-core:3.20.2' + dependency "javax.annotation:javax.annotation-api:1.3.2" + dependency "javax.servlet:javax.servlet-api:4.0.1" + dependency "com.google.code.findbugs:jsr305:3.0.2" + dependency "org.assertj:assertj-core:3.20.2" + dependency "com.jayway.jsonpath:json-path:2.5.0" + dependency "org.skyscreamer:jsonassert:1.5.0" + dependencySet(group: 'com.querydsl', version: '4.4.0') { + entry 'querydsl-apt' + entry 'querydsl-collections' + entry 'querydsl-core' + } dependencySet(group: 'org.apache.logging.log4j', version: '2.14.1') { entry 'log4j-api' entry 'log4j-core' entry 'log4j-jul' entry 'log4j-slf4j-impl' } + dependencySet(group: 'org.mockito', version: '3.11.2') { + entry 'mockito-core' + entry 'mockito-inline' + entry 'mockito-junit-jupiter' + } } generatedPomCustomization { enabled = false diff --git a/graphql-spring-boot-starter/build.gradle b/graphql-spring-boot-starter/build.gradle index 43383d60..336631d1 100644 --- a/graphql-spring-boot-starter/build.gradle +++ b/graphql-spring-boot-starter/build.gradle @@ -3,6 +3,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'org.springframework.boot' version "${bootVersion}" apply false id 'java-library' + id 'org.springframework.graphql.compiler' } group = 'org.springframework.experimental' @@ -41,13 +42,14 @@ dependencies { compileOnly 'org.springframework.security:spring-security-config' compileOnly 'org.springframework.security:spring-security-web' - compileOnly 'com.querydsl:querydsl-core:4.4.0' + compileOnly 'com.querydsl:querydsl-core' compileOnly 'org.springframework.data:spring-data-commons' compileOnly project(':spring-graphql-test') + compileOnly 'org.junit.jupiter:junit-jupiter-api' compileOnly 'org.springframework.boot:spring-boot-test' - compileOnly 'com.google.code.findbugs:jsr305:3.0.2' + compileOnly 'com.google.code.findbugs:jsr305' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor 'org.springframework.boot:spring-boot-autoconfigure-processor' diff --git a/graphql-spring-boot-starter/src/main/java/org/springframework/graphql/boot/InvalidSchemaLocationsException.java b/graphql-spring-boot-starter/src/main/java/org/springframework/graphql/boot/InvalidSchemaLocationsException.java index fd9d7a13..36eed819 100644 --- a/graphql-spring-boot-starter/src/main/java/org/springframework/graphql/boot/InvalidSchemaLocationsException.java +++ b/graphql-spring-boot-starter/src/main/java/org/springframework/graphql/boot/InvalidSchemaLocationsException.java @@ -30,6 +30,7 @@ import org.springframework.core.io.support.ResourcePatternResolver; * @author Brian Clozel * @since 1.0.0 */ +@SuppressWarnings("serial") public class InvalidSchemaLocationsException extends NestedRuntimeException { private final List schemaLocations; diff --git a/samples/webmvc-http/build.gradle b/samples/webmvc-http/build.gradle index cdc6ce02..7bfeb2b4 100644 --- a/samples/webmvc-http/build.gradle +++ b/samples/webmvc-http/build.gradle @@ -13,19 +13,17 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-hateoas' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-actuator' + implementation 'com.querydsl:querydsl-core' + implementation 'com.querydsl:querydsl-jpa' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'com.h2database:h2' testImplementation project(':spring-graphql-test') testImplementation 'org.springframework:spring-webflux' testImplementation 'org.springframework.boot:spring-boot-starter-test' - implementation( - "com.querydsl:querydsl-core:4.4.0", - "com.querydsl:querydsl-jpa:4.4.0" - ) - annotationProcessor "com.querydsl:querydsl-apt:4.4.0:jpa", - "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final", - "javax.annotation:javax.annotation-api:1.3.2" + annotationProcessor 'com.querydsl:querydsl-apt:4.4.0:jpa', + 'org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final', + 'javax.annotation:javax.annotation-api' } compileJava { diff --git a/spring-graphql-test/build.gradle b/spring-graphql-test/build.gradle index 2fe38316..fcab9fe9 100644 --- a/spring-graphql-test/build.gradle +++ b/spring-graphql-test/build.gradle @@ -6,19 +6,21 @@ dependencies { api 'io.projectreactor:reactor-core' api 'org.springframework:spring-context' api 'org.springframework:spring-test' - api 'com.jayway.jsonpath:json-path:2.5.0' + api 'com.jayway.jsonpath:json-path' - compileOnly "javax.annotation:javax.annotation-api:1.3.2" + compileOnly 'javax.annotation:javax.annotation-api' compileOnly 'org.springframework:spring-webflux' compileOnly 'org.springframework:spring-webmvc' compileOnly 'org.springframework:spring-websocket' - compileOnly 'javax.servlet:javax.servlet-api:4.0.1' - compileOnly 'org.skyscreamer:jsonassert:1.5.0' + compileOnly 'javax.servlet:javax.servlet-api' + compileOnly 'org.skyscreamer:jsonassert' + compileOnly 'com.google.code.findbugs:jsr305' + compileOnly 'org.jetbrains.kotlinx:kotlinx-coroutines-core' testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.assertj:assertj-core' - testImplementation 'org.mockito:mockito-core:3.8.0' - testImplementation 'org.skyscreamer:jsonassert:1.5.0' + testImplementation 'org.mockito:mockito-core' + testImplementation 'org.skyscreamer:jsonassert' testImplementation 'org.springframework:spring-webflux' testImplementation 'org.springframework:spring-test' testImplementation 'io.projectreactor:reactor-test' diff --git a/spring-graphql-test/src/main/java/org/springframework/graphql/test/tester/TestGraphQlError.java b/spring-graphql-test/src/main/java/org/springframework/graphql/test/tester/TestGraphQlError.java index c945cda7..9b0028b1 100644 --- a/spring-graphql-test/src/main/java/org/springframework/graphql/test/tester/TestGraphQlError.java +++ b/spring-graphql-test/src/main/java/org/springframework/graphql/test/tester/TestGraphQlError.java @@ -34,6 +34,7 @@ import org.springframework.lang.Nullable; * * @author Rossen Stoyanchev */ +@SuppressWarnings("serial") class TestGraphQlError implements GraphQLError { @Nullable diff --git a/spring-graphql/build.gradle b/spring-graphql/build.gradle index 5be86ae5..9dfeef87 100644 --- a/spring-graphql/build.gradle +++ b/spring-graphql/build.gradle @@ -5,28 +5,31 @@ dependencies { api 'io.projectreactor:reactor-core' api 'org.springframework:spring-context' - compileOnly "javax.annotation:javax.annotation-api:1.3.2" + compileOnly 'javax.annotation:javax.annotation-api' compileOnly 'org.springframework:spring-webflux' compileOnly 'org.springframework:spring-webmvc' compileOnly 'org.springframework:spring-websocket' - compileOnly 'javax.servlet:javax.servlet-api:4.0.1' + compileOnly 'javax.servlet:javax.servlet-api' compileOnly 'org.springframework.security:spring-security-core' - compileOnly 'com.querydsl:querydsl-core:4.4.0' + compileOnly 'com.querydsl:querydsl-core' compileOnly 'org.springframework.data:spring-data-commons' + compileOnly 'com.google.code.findbugs:jsr305' + compileOnly 'org.jetbrains.kotlinx:kotlinx-coroutines-core' + testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.assertj:assertj-core' - testImplementation 'org.mockito:mockito-core:3.11.1' + testImplementation 'org.mockito:mockito-core' testImplementation 'io.projectreactor:reactor-test' testImplementation 'org.springframework:spring-webflux' testImplementation 'org.springframework:spring-webmvc' testImplementation 'org.springframework:spring-websocket' testImplementation 'org.springframework:spring-test' testImplementation 'org.springframework.data:spring-data-commons' - testImplementation 'com.querydsl:querydsl-core:4.4.0' - testImplementation 'javax.servlet:javax.servlet-api:4.0.1' + testImplementation 'com.querydsl:querydsl-core' + testImplementation 'javax.servlet:javax.servlet-api' testImplementation 'com.fasterxml.jackson.core:jackson-databind' testRuntimeOnly 'org.apache.logging.log4j:log4j-core' diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/MissingArgumentException.java b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/MissingArgumentException.java index 75957d3c..f077b1a5 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/MissingArgumentException.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/MissingArgumentException.java @@ -25,6 +25,7 @@ import org.springframework.core.NestedRuntimeException; * @author Rossen Stoyanchev * @since 1.0.0 */ +@SuppressWarnings("serial") public class MissingArgumentException extends NestedRuntimeException { private final String argumentName; diff --git a/spring-graphql/src/main/java/org/springframework/graphql/execution/ExceptionResolversExceptionHandler.java b/spring-graphql/src/main/java/org/springframework/graphql/execution/ExceptionResolversExceptionHandler.java index a883baad..633e371e 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/execution/ExceptionResolversExceptionHandler.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/execution/ExceptionResolversExceptionHandler.java @@ -57,6 +57,7 @@ class ExceptionResolversExceptionHandler implements DataFetcherExceptionHandler } @Override + @Deprecated public DataFetcherExceptionHandlerResult onException(DataFetcherExceptionHandlerParameters parameters) { Throwable exception = parameters.getException(); exception = ((exception instanceof CompletionException) ? exception.getCause() : exception); diff --git a/spring-graphql/src/main/java/org/springframework/graphql/execution/MissingSchemaException.java b/spring-graphql/src/main/java/org/springframework/graphql/execution/MissingSchemaException.java index a0a52370..66fae961 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/execution/MissingSchemaException.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/execution/MissingSchemaException.java @@ -24,6 +24,7 @@ import org.springframework.core.NestedRuntimeException; * @author Brian Clozel * @since 1.0.0 */ +@SuppressWarnings("serial") public class MissingSchemaException extends NestedRuntimeException { public MissingSchemaException() { diff --git a/spring-graphql/src/main/java/org/springframework/graphql/web/webflux/GraphQlWebSocketHandler.java b/spring-graphql/src/main/java/org/springframework/graphql/web/webflux/GraphQlWebSocketHandler.java index 432ae6ae..cd0af25f 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/web/webflux/GraphQlWebSocketHandler.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/web/webflux/GraphQlWebSocketHandler.java @@ -314,6 +314,7 @@ public class GraphQlWebSocketHandler implements WebSocketHandler { } + @SuppressWarnings("serial") private static class SubscriptionExistsException extends RuntimeException { } diff --git a/spring-graphql/src/main/java/org/springframework/graphql/web/webmvc/GraphQlWebSocketHandler.java b/spring-graphql/src/main/java/org/springframework/graphql/web/webmvc/GraphQlWebSocketHandler.java index 648767b4..6aad8607 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/web/webmvc/GraphQlWebSocketHandler.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/web/webmvc/GraphQlWebSocketHandler.java @@ -466,6 +466,7 @@ public class GraphQlWebSocketHandler extends TextWebSocketHandler implements Sub } + @SuppressWarnings("serial") private static class SubscriptionExistsException extends RuntimeException { }