-
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
Update to graphql-java v16.1 #84
Conversation
Previously this was included as a transitive dependency via graphql-java
- ExecutionPath was renamed to ResultPath: graphql-java/graphql-java#1962
@hrkfdn: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/ |
The validations have changed as of v16 to ensure Types define at least one field. See also: graphql-java/graphql-java#1955
Since this is a breaking change. I'd recommend to also cleanup this logic -> https://github.com/apollographql/federation-jvm/blob/master/graphql-java-support/src/main/java/com/apollographql/federation/graphqljava/tracing/FederatedTracingInstrumentation.java#L99 |
As moving to GraphQL-Java v16.1 is a breaking change, we can remove this part as it was introduced to support <v13.
@dariuszkuc Thanks for the heads up, I've cleaned it up a little. |
Thanks for opening this PR! You're right that there are some subtleties regarding the new validations introduced in v16 that need to be handled carefully, I'll give an update here soon. |
I've iterated on this PR and filed #85 to address some trickier issues:
|
Maybe the better option here is to open a PR into graphql-java and adding some way to override validations with configuration or plugins. As general schema builder code, I think that could be useful in situations outside of federation too |
Some breaking changes in this one:
The tests were updated to pass the new validations, but it feels a bit hackish so maybe someone with more knowledge of the test cases/infrastructure should take a closer look. The problem is that the federation transformations are applied too late so some types are empty during validation.