apollographql / federation-jvm

JVM support for Apollo Federation

Home Page:https://www.apollographql.com/docs/federation/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

graphql-java-support: Bump graphql-java to v18.1

LizGabriela-RY opened this issue · comments

It is any plan to add support/compatibility with graphql-java v.18.1? Any alpha version where this is been considered?

Sure! Is there anything in particular you're interested in v18? It might already work if you pin your graphql-java version

Currently using graphql-java v17.3 and federation-jvm 0.7.0 which are compatible. Now, I am trying to upgrade to graphql-java v18.1 and that's where I have found issues with the new validation at the build level and federation-jvm 0.7.0. I can try upgrading federation-jvm 0.9.0 however the documentation does not indicate that this version will be compatible with v18.1 as it is using v17.3.

Can you share what the stacktrace/error is?

The error found is in the federation test level:

graphql.schema.validation.InvalidSchemaException: invalid schema:
A definition for directive 'key' could not be found

I can share the complete trace and unit test tomorrow. This is thrown at the SchemaTransformer level.

Interesting. Yep, I would have expected the @key directive to be added automatically. A unit test would be welcome. We're due to release tomorrow so (unless there are some unforeseen complications) we'll bump to v18 but it might also be something else so any unit test/reproducer would be very welcome 👍

I gave it a quick look today and "it's complicated". Upgrading itself is working but fails in spring-sample because the sample is using graphql-java-tools and that's not compatible with graphql-java 18 just yet. We could think of ways to work around this but that's a longuer story so not for today.

In all cases, please send a reproducer as your issue might still have another solution

Hey! Thank you so much for your comments, actually, after reviewing in detail it has been found an solution similar to what is proposed here: #35 so we are good with the tests now. Anyway, I would be looking forward to the new release & features to try. Hopefully, all goes well with the release today! :)

@martinbonnin - I noticed earlier today that the graphql-java-tools:12.1.0 release now uses graphql-java:18.1. kickstart however is pending a release (shortly) to update to use the new graphql-java-tools