-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
graphql-java-support: Bump graphql-java to v16.1 #85
Conversation
…his a non-transitive dependency
…mpty query types in federation SDL
@sachindshinde This PR looks good from my perspective as a library user. Is there anything else blocking the review? |
Would be nice to get this in place so we don't get stuck on old graphql-java versions |
Any further updates? Many of the libraries we depend on were just released over the weekend to use graphql-java:16.1 and this is the final one in our stack |
… instead of manually copying each property
@smyrick @williamboman-pp @setchy |
Great news - thanks @sachindshinde for the update |
Let me know if you want help testing, we could deploy this to our staging envs as well |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
Our backend showed no issues with the RC, so I've cut release 0.6.0. |
This PR is an iteration of the changes suggested in #84 (many thanks to the authors and commenters).
Summary of changes:
graphql-java
to v16.1 in thepom.xml
ExecutionPath
toResultPath
org.slf4j:slf4j-api
FederationSdlPrinter
to usegraphql-java
v16.1'sSchemaPrinter
queryTypeShouldBeEmpty
to theFederation.transform()
overload that accepts aGraphQLSchema
to indicate that the query type in the given schema should really be empty, and that the type only contains dummy fields to satisfy GraphQL validation.graphql-java
hadn't been implementing it; this is an issue with federation SDL not being valid GraphQL.testPrinterEmpty()
test, since we can no longer represent empty types in aGraphQLSchema
object.Federation.transform()
, all of this is invisible; we add the dummy field for them, and it's accordingly removed inSchemaTransformer.build()
. This lets us maintain backwards compatibility with users who provide empty query type (or who provide no query type) in the common case.GraphQLSchema
object, as they do this before they call this library. The best option here I think is to provide clear steps in theCHANGELOG.md
for the fix.ExecutionResultImpl
builder calls inFederatedTracingInstrumentation.instrumentExecutionResult()
ExecutionResult
.Note that this is a backwards incompatible version bump due to backwards incompatible changes in
graphql-java
v16 (e.g. theExecutionPath
->ResultPath
rename).