You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When generating federated base schema (i.e. without extended types), we were manually adding invalid required federated types (e.g. directive definitions). Generated federated schema was correct when directives were generated from the annotations. Manually added federated directives were incorrectly specifying their arguments as nullable `_FieldSet`.
SDL is printed as a debug information at a startup and can also be generated using one of our plugins. Depenendng how you use this federated SDL, this may or may not be a problem - Apollo federation 1.0 does not allow re-definition of the types across schemas so federated system types have to be scrubbed from published schema SDL and at runtime relies on `_service` query that returns modified SDL (again without federated directives).
Resolves: #1310
Copy file name to clipboardExpand all lines: generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/directives/FieldSet.kt
Copy file name to clipboardExpand all lines: generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/FederatedSchemaGeneratorTest.kt
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -179,13 +179,13 @@ class FederatedSchemaGeneratorTest {
179
179
directive @external on FIELD_DEFINITION
180
180
181
181
"Specifies required input field set from the base type for a resolver"
182
-
directive @requires(fields: _FieldSet) on FIELD_DEFINITION
182
+
directive @requires(fields: _FieldSet!) on FIELD_DEFINITION
183
183
184
184
"Specifies the base type field set that will be selectable by the gateway"
185
-
directive @provides(fields: _FieldSet) on FIELD_DEFINITION
185
+
directive @provides(fields: _FieldSet!) on FIELD_DEFINITION
186
186
187
187
"Space separated list of primary keys needed to access federated object"
188
-
directive @key(fields: _FieldSet) on OBJECT | INTERFACE
188
+
directive @key(fields: _FieldSet!) on OBJECT | INTERFACE
189
189
190
190
"Marks target object as extending part of the federated schema"
Copy file name to clipboardExpand all lines: plugins/graphql-kotlin-gradle-plugin/src/test/kotlin/com/expediagroup/graphql/plugin/gradle/GraphQLGradlePluginIT.kt
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -548,13 +548,13 @@ class GraphQLGradlePluginIT : GraphQLGradlePluginAbstractIT() {
548
548
directive @external on FIELD_DEFINITION
549
549
550
550
"Specifies required input field set from the base type for a resolver"
551
-
directive @requires(fields: _FieldSet) on FIELD_DEFINITION
551
+
directive @requires(fields: _FieldSet!) on FIELD_DEFINITION
552
552
553
553
"Specifies the base type field set that will be selectable by the gateway"
554
-
directive @provides(fields: _FieldSet) on FIELD_DEFINITION
554
+
directive @provides(fields: _FieldSet!) on FIELD_DEFINITION
555
555
556
556
"Space separated list of primary keys needed to access federated object"
557
-
directive @key(fields: _FieldSet) on OBJECT | INTERFACE
557
+
directive @key(fields: _FieldSet!) on OBJECT | INTERFACE
558
558
559
559
"Marks target object as extending part of the federated schema"
Copy file name to clipboardExpand all lines: plugins/graphql-kotlin-gradle-plugin/src/test/kotlin/com/expediagroup/graphql/plugin/gradle/tasks/GraphQLGenerateSDLTaskIT.kt
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -97,13 +97,13 @@ internal val FEDERATED_SCHEMA =
97
97
directive @external on FIELD_DEFINITION
98
98
99
99
"Specifies required input field set from the base type for a resolver"
100
-
directive @requires(fields: _FieldSet) on FIELD_DEFINITION
100
+
directive @requires(fields: _FieldSet!) on FIELD_DEFINITION
101
101
102
102
"Specifies the base type field set that will be selectable by the gateway"
103
-
directive @provides(fields: _FieldSet) on FIELD_DEFINITION
103
+
directive @provides(fields: _FieldSet!) on FIELD_DEFINITION
104
104
105
105
"Space separated list of primary keys needed to access federated object"
106
-
directive @key(fields: _FieldSet) on OBJECT | INTERFACE
106
+
directive @key(fields: _FieldSet!) on OBJECT | INTERFACE
107
107
108
108
"Marks target object as extending part of the federated schema"
Copy file name to clipboardExpand all lines: plugins/graphql-kotlin-maven-plugin/src/integration/generate-sdl-federated/src/test/kotlin/com/expediagroup/graphql/plugin/maven/GenerateSDLMojoTest.kt
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -68,13 +68,13 @@ class GenerateSDLMojoTest {
68
68
directive @external on FIELD_DEFINITION
69
69
70
70
"Specifies required input field set from the base type for a resolver"
71
-
directive @requires(fields: _FieldSet) on FIELD_DEFINITION
71
+
directive @requires(fields: _FieldSet!) on FIELD_DEFINITION
72
72
73
73
"Specifies the base type field set that will be selectable by the gateway"
74
-
directive @provides(fields: _FieldSet) on FIELD_DEFINITION
74
+
directive @provides(fields: _FieldSet!) on FIELD_DEFINITION
75
75
76
76
"Space separated list of primary keys needed to access federated object"
77
-
directive @key(fields: _FieldSet) on OBJECT | INTERFACE
77
+
directive @key(fields: _FieldSet!) on OBJECT | INTERFACE
78
78
79
79
"Marks target object as extending part of the federated schema"
Copy file name to clipboardExpand all lines: plugins/graphql-kotlin-maven-plugin/src/integration/generate-sdl-hooks/src/test/kotlin/com/expediagroup/graphql/plugin/maven/GenerateSDLMojoTest.kt
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -68,13 +68,13 @@ class GenerateSDLMojoTest {
68
68
directive @external on FIELD_DEFINITION
69
69
70
70
"Specifies required input field set from the base type for a resolver"
71
-
directive @requires(fields: _FieldSet) on FIELD_DEFINITION
71
+
directive @requires(fields: _FieldSet!) on FIELD_DEFINITION
72
72
73
73
"Specifies the base type field set that will be selectable by the gateway"
74
-
directive @provides(fields: _FieldSet) on FIELD_DEFINITION
74
+
directive @provides(fields: _FieldSet!) on FIELD_DEFINITION
75
75
76
76
"Space separated list of primary keys needed to access federated object"
77
-
directive @key(fields: _FieldSet) on OBJECT | INTERFACE
77
+
directive @key(fields: _FieldSet!) on OBJECT | INTERFACE
78
78
79
79
"Marks target object as extending part of the federated schema"
Copy file name to clipboardExpand all lines: plugins/schema/graphql-kotlin-sdl-generator/src/integrationTest/kotlin/com/expediagroup/graphql/plugin/schema/GenerateCustomSDLTest.kt
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -57,13 +57,13 @@ class GenerateCustomSDLTest {
57
57
directive @external on FIELD_DEFINITION
58
58
59
59
"Specifies required input field set from the base type for a resolver"
60
-
directive @requires(fields: _FieldSet) on FIELD_DEFINITION
60
+
directive @requires(fields: _FieldSet!) on FIELD_DEFINITION
61
61
62
62
"Specifies the base type field set that will be selectable by the gateway"
63
-
directive @provides(fields: _FieldSet) on FIELD_DEFINITION
63
+
directive @provides(fields: _FieldSet!) on FIELD_DEFINITION
64
64
65
65
"Space separated list of primary keys needed to access federated object"
66
-
directive @key(fields: _FieldSet) on OBJECT | INTERFACE
66
+
directive @key(fields: _FieldSet!) on OBJECT | INTERFACE
67
67
68
68
"Marks target object as extending part of the federated schema"
0 commit comments