Skip to content

Commit eab7476

Browse files
authored
[federation] fix fed2 link directive imports and spec URL (#1593)
All directive names should be prefixed with `@` as otherwise it leads to composition errors.
1 parent 2fbb97f commit eab7476

File tree

5 files changed

+6
-6
lines changed

5 files changed

+6
-6
lines changed

examples/client/src/integration/wiremock/__files/schema.graphql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
schema @link(url : "https://specs.apollo.dev/link/v1.0/") @link(import : ["extends", "external", "inaccessible", "key", "link", "override", "provides", "requires", "shareable", "tag", "_FieldSet"], url : "https://www.apollographql.com/docs/federation/federation-spec/"){
1+
schema @link(import : ["@extends", "@external", "@inaccessible", "@key", "@override", "@provides", "@requires", "@shareable", "@tag", "_FieldSet"], url : "https://specs.apollo.dev/federation/v2.0"){
22
query: Query
33
mutation: Mutation
44
}

generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/FederatedSchemaGeneratorHooks.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,11 @@ open class FederatedSchemaGeneratorHooks(private val resolvers: List<FederatedTy
135135

136136
override fun willBuildSchema(builder: GraphQLSchema.Builder): GraphQLSchema.Builder {
137137
if (optInFederationV2) {
138-
val fed2Imports = federatedDirectiveV2List.map { it.name }
138+
val fed2Imports = federatedDirectiveV2List.map { "@${it.name}" }
139+
.minus("@$LINK_DIRECTIVE_NAME")
139140
.plus(FIELD_SET_SCALAR_NAME)
140141

141142
builder.withSchemaDirective(LINK_DIRECTIVE_TYPE)
142-
.withSchemaAppliedDirective(appliedLinkDirective(LINK_SPEC_URL))
143143
.withSchemaAppliedDirective(appliedLinkDirective(FEDERATION_SPEC_URL, fed2Imports))
144144
}
145145

generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/directives/LinkDirective.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import graphql.schema.GraphQLArgument
2323
import graphql.schema.GraphQLList
2424

2525
const val LINK_SPEC_URL = "https://specs.apollo.dev/link/v1.0/"
26-
const val FEDERATION_SPEC_URL = "https://www.apollographql.com/docs/federation/federation-spec/"
26+
const val FEDERATION_SPEC_URL = "https://specs.apollo.dev/federation/v2.0"
2727

2828
/**
2929
* ```graphql

generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/FederatedSchemaV2GeneratorTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class FederatedSchemaV2GeneratorTest {
3030
fun `verify can generate federated schema`() {
3131
val expectedSchema =
3232
"""
33-
schema @link(url : "https://specs.apollo.dev/link/v1.0/") @link(import : ["extends", "external", "inaccessible", "key", "link", "override", "provides", "requires", "shareable", "tag", "_FieldSet"], url : "https://www.apollographql.com/docs/federation/federation-spec/"){
33+
schema @link(import : ["@extends", "@external", "@inaccessible", "@key", "@override", "@provides", "@requires", "@shareable", "@tag", "_FieldSet"], url : "https://specs.apollo.dev/federation/v2.0"){
3434
query: Query
3535
}
3636

generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/execution/ServiceQueryResolverTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ type SelfReferenceObject {
9999

100100
const val FEDERATED_SERVICE_SDL_V2 =
101101
"""
102-
schema @link(url : "https://specs.apollo.dev/link/v1.0/") @link(import : ["extends", "external", "inaccessible", "key", "link", "override", "provides", "requires", "shareable", "tag", "_FieldSet"], url : "https://www.apollographql.com/docs/federation/federation-spec/"){
102+
schema @link(import : ["@extends", "@external", "@inaccessible", "@key", "@override", "@provides", "@requires", "@shareable", "@tag", "_FieldSet"], url : "https://specs.apollo.dev/federation/v2.0"){
103103
query: Query
104104
}
105105

0 commit comments

Comments
 (0)