From c951c4c2121fc9258f6164213cd58ba475cb2c38 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Mon, 11 Sep 2023 12:55:27 +0200 Subject: [PATCH] Polish GraphQL auto-configuration changes This commit fixes build issues, as the recent changes surfaced an existing problem: QueryDsl auto-configurations were not guarded by classpath conditions for QueryDsl Core. See gh-34974 --- spring-boot-project/spring-boot-autoconfigure/build.gradle | 1 + .../graphql/data/GraphQlQuerydslAutoConfiguration.java | 3 ++- .../graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/build.gradle b/spring-boot-project/spring-boot-autoconfigure/build.gradle index ed61c0213dd..85a72c0600c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/build.gradle +++ b/spring-boot-project/spring-boot-autoconfigure/build.gradle @@ -29,6 +29,7 @@ dependencies { optional("com.nimbusds:oauth2-oidc-sdk") optional("com.oracle.database.jdbc:ojdbc8") optional("com.oracle.database.jdbc:ucp") + optional("com.querydsl:querydsl-core") optional("com.samskivert:jmustache") optional("io.lettuce:lettuce-core") optional("io.projectreactor.netty:reactor-netty-http") diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java index ca168f833e6..97e2debd0a4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java @@ -19,6 +19,7 @@ package org.springframework.boot.autoconfigure.graphql.data; import java.util.Collections; import java.util.List; +import com.querydsl.core.Query; import graphql.GraphQL; import org.springframework.beans.factory.ObjectProvider; @@ -46,7 +47,7 @@ import org.springframework.graphql.execution.RuntimeWiringConfigurer; * @see QuerydslDataFetcher#autoRegistrationConfigurer(List, List) */ @AutoConfiguration(after = GraphQlAutoConfiguration.class) -@ConditionalOnClass({ GraphQL.class, QuerydslDataFetcher.class, QuerydslPredicateExecutor.class }) +@ConditionalOnClass({ GraphQL.class, Query.class, QuerydslDataFetcher.class, QuerydslPredicateExecutor.class }) @ConditionalOnBean(GraphQlSource.class) public class GraphQlQuerydslAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java index 9d9cc4c6109..14b81dcc710 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java @@ -19,6 +19,7 @@ package org.springframework.boot.autoconfigure.graphql.data; import java.util.Collections; import java.util.List; +import com.querydsl.core.Query; import graphql.GraphQL; import org.springframework.beans.factory.ObjectProvider; @@ -46,7 +47,7 @@ import org.springframework.graphql.execution.RuntimeWiringConfigurer; * @see QuerydslDataFetcher#autoRegistrationConfigurer(List, List) */ @AutoConfiguration(after = GraphQlAutoConfiguration.class) -@ConditionalOnClass({ GraphQL.class, QuerydslDataFetcher.class, ReactiveQuerydslPredicateExecutor.class }) +@ConditionalOnClass({ GraphQL.class, Query.class, QuerydslDataFetcher.class, ReactiveQuerydslPredicateExecutor.class }) @ConditionalOnBean(GraphQlSource.class) public class GraphQlReactiveQuerydslAutoConfiguration {