Skip to content

Commit f4efada

Browse files
authored
Split apollo-execution-runtime in 2: (#47)
- On one side, the execution algorithm - On the other side, the codegen support files
1 parent 6541b55 commit f4efada

File tree

57 files changed

+482
-423
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+482
-423
lines changed

apollo-execution-gradle-plugin/api/apollo-execution-gradle-plugin.api

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
public abstract class com/apollographql/execution/gradle/ApolloExecutionExtension {
22
public fun <init> (Lorg/gradle/api/Project;)V
33
public final fun getHasService ()Z
4-
public final fun getProject ()Lorg/gradle/api/Project;
54
public final fun service (Ljava/lang/String;Lorg/gradle/api/Action;)V
65
public final fun setHasService (Z)V
76
}
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
public final class com/apollographql/execution/http4k/MainKt {
2-
public static final fun apolloHandler (Lcom/apollographql/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
3-
public static synthetic fun apolloHandler$default (Lcom/apollographql/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1;
4-
public static final fun apolloRoutingHttpHandler (Lcom/apollographql/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/http4k/routing/RoutingHttpHandler;
5-
public static synthetic fun apolloRoutingHttpHandler$default (Lcom/apollographql/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/http4k/routing/RoutingHttpHandler;
2+
public static final fun apolloHandler (Lcom/apollographql/apollo/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
3+
public static synthetic fun apolloHandler$default (Lcom/apollographql/apollo/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1;
4+
public static final fun apolloRoutingHttpHandler (Lcom/apollographql/apollo/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/http4k/routing/RoutingHttpHandler;
5+
public static synthetic fun apolloRoutingHttpHandler$default (Lcom/apollographql/apollo/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/http4k/routing/RoutingHttpHandler;
66
public static final fun apolloSandboxRoutingHttpHandler (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/http4k/routing/RoutingHttpHandler;
77
public static synthetic fun apolloSandboxRoutingHttpHandler$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/http4k/routing/RoutingHttpHandler;
8-
public static final fun apolloWebSocketHandler (Lcom/apollographql/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
9-
public static synthetic fun apolloWebSocketHandler$default (Lcom/apollographql/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1;
8+
public static final fun apolloWebSocketHandler (Lcom/apollographql/apollo/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
9+
public static synthetic fun apolloWebSocketHandler$default (Lcom/apollographql/apollo/execution/ExecutableSchema;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function1;
1010
}
1111

apollo-execution-http4k/src/jvmMain/kotlin/com/apollographql/execution/http4k/main.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
package com.apollographql.execution.http4k
44

55
import com.apollographql.apollo.api.ExecutionContext
6-
import com.apollographql.execution.ExecutableSchema
7-
import com.apollographql.execution.parseAsGraphQLRequest
6+
import com.apollographql.apollo.execution.ExecutableSchema
7+
import com.apollographql.apollo.execution.parseAsGraphQLRequest
88
import com.apollographql.execution.sandboxHtml
99
import com.apollographql.execution.websocket.ConnectionInitAck
1010
import com.apollographql.execution.websocket.ConnectionInitError

apollo-execution-http4k/src/jvmTest/kotlin/test/SimpleTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package test
22

3-
import com.apollographql.execution.ExecutableSchema
3+
import com.apollographql.apollo.execution.ExecutableSchema
44
import com.apollographql.execution.http4k.apolloHandler
55
import org.http4k.core.Method
66
import org.http4k.core.Request
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
public final class com/apollographql/execution/ktor/MainKt {
2-
public static final fun apolloModule (Lio/ktor/server/application/Application;Lcom/apollographql/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
3-
public static synthetic fun apolloModule$default (Lio/ktor/server/application/Application;Lcom/apollographql/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
2+
public static final fun apolloModule (Lio/ktor/server/application/Application;Lcom/apollographql/apollo/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
3+
public static synthetic fun apolloModule$default (Lio/ktor/server/application/Application;Lcom/apollographql/apollo/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
44
public static final fun apolloSandboxModule (Lio/ktor/server/application/Application;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
55
public static synthetic fun apolloSandboxModule$default (Lio/ktor/server/application/Application;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V
6-
public static final fun apolloSubscriptionModule (Lio/ktor/server/application/Application;Lcom/apollographql/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
7-
public static synthetic fun apolloSubscriptionModule$default (Lio/ktor/server/application/Application;Lcom/apollographql/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
6+
public static final fun apolloSubscriptionModule (Lio/ktor/server/application/Application;Lcom/apollographql/apollo/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
7+
public static synthetic fun apolloSubscriptionModule$default (Lio/ktor/server/application/Application;Lcom/apollographql/apollo/execution/ExecutableSchema;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
88
public static final fun parseAsGraphQLRequest (Lio/ktor/server/request/ApplicationRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
9-
public static final fun respondGraphQL (Lio/ktor/server/application/ApplicationCall;Lcom/apollographql/execution/ExecutableSchema;Lcom/apollographql/apollo/api/ExecutionContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
10-
public static synthetic fun respondGraphQL$default (Lio/ktor/server/application/ApplicationCall;Lcom/apollographql/execution/ExecutableSchema;Lcom/apollographql/apollo/api/ExecutionContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
9+
public static final fun respondGraphQL (Lio/ktor/server/application/ApplicationCall;Lcom/apollographql/apollo/execution/ExecutableSchema;Lcom/apollographql/apollo/api/ExecutionContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
10+
public static synthetic fun respondGraphQL$default (Lio/ktor/server/application/ApplicationCall;Lcom/apollographql/apollo/execution/ExecutableSchema;Lcom/apollographql/apollo/api/ExecutionContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
1111
}
1212

apollo-execution-ktor/src/commonMain/kotlin/com/apollographql/execution/ktor/main.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.apollographql.execution.ktor
22

33
import com.apollographql.apollo.api.ExecutionContext
4+
import com.apollographql.apollo.execution.ExecutableSchema
5+
import com.apollographql.apollo.execution.GraphQLRequest
6+
import com.apollographql.apollo.execution.GraphQLResponse
7+
import com.apollographql.apollo.execution.parseAsGraphQLRequest
48
import com.apollographql.execution.*
59
import com.apollographql.execution.websocket.ConnectionInitAck
610
import com.apollographql.execution.websocket.SubscriptionWebSocketHandler
711
import com.apollographql.execution.websocket.WebSocketBinaryMessage
8-
import com.apollographql.execution.websocket.WebSocketHandler
912
import com.apollographql.execution.websocket.WebSocketTextMessage
1013
import io.ktor.http.*
1114
import io.ktor.http.content.*

apollo-execution-ktor/src/jvmTest/kotlin/test/KtorTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package test
22

3-
import com.apollographql.execution.ExecutableSchema
4-
import com.apollographql.execution.ResolveInfo
5-
import com.apollographql.execution.Resolver
3+
import com.apollographql.apollo.execution.ExecutableSchema
4+
import com.apollographql.apollo.execution.ResolveInfo
5+
import com.apollographql.apollo.execution.Resolver
66
import com.apollographql.execution.ktor.apolloModule
77
import io.ktor.server.application.install
88
import io.ktor.server.engine.embeddedServer

apollo-execution-processor/src/main/kotlin/com/apollographql/execution/processor/ApolloProcessor.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class ApolloProcessor(
5151

5252
done = true
5353

54-
val query = getRootSymbol(resolver, "com.apollographql.execution.annotation.GraphQLQuery")
54+
val query = getRootSymbol(resolver, KotlinSymbols.GraphQLQuery.canonicalName)
5555
if (query == null) {
5656
logger.error("No '@GraphQLQuery' class found")
5757
return emptyList()
@@ -60,8 +60,8 @@ class ApolloProcessor(
6060
val result = doTraversal(
6161
logger,
6262
query,
63-
getRootSymbol(resolver, "com.apollographql.execution.annotation.GraphQLMutation"),
64-
getRootSymbol(resolver, "com.apollographql.execution.annotation.GraphQLSubscription"),
63+
getRootSymbol(resolver, KotlinSymbols.GraphQLMutation.canonicalName),
64+
getRootSymbol(resolver, KotlinSymbols.GraphQLSubscription.canonicalName),
6565
)
6666
val definitions = result.definitions
6767

apollo-execution-processor/src/main/kotlin/com/apollographql/execution/processor/codegen/ExecutableSchemaBuilderBuilder.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ internal class ExecutableSchemaBuilderBuilder(
4040
add("val schemaBuilder = %L()\n", KotlinSymbols.ExecutableSchemaBuilder)
4141
withIndent {
4242
add(".schema(%M)\n", schemaDocument)
43-
add(".%M·{\n", MemberName("com.apollographql.execution", "compositeResolver"))
43+
add(".%M·{\n", MemberName(KotlinSymbols.executionPackageName, "compositeResolver"))
4444
withIndent {
4545
sirDefinitions.filterIsInstance<SirObjectDefinition>().forEach { sirObjectDefinition ->
4646
add("type(%S)·{\n", sirObjectDefinition.name)
@@ -106,7 +106,7 @@ internal class ExecutableSchemaBuilderBuilder(
106106
add(".addCoercing(%S, %M)\n", sirEnumDefinition.name, context.coercings.get(sirEnumDefinition.name))
107107
}
108108
if (entityResolver != null) {
109-
add(".addCoercing(%S, %M)\n", "_Any", MemberName("com.apollographql.execution.subgraph", "_AnyCoercing"))
109+
add(".addCoercing(%S, %M)\n", "_Any", MemberName(KotlinSymbols.subgraphPackageName, "_AnyCoercing"))
110110
}
111111
listOf("query", "mutation", "subscription").forEach { operationType ->
112112
val sirObjectDefinition = sirDefinitions.rootType(operationType)

apollo-execution-processor/src/main/kotlin/com/apollographql/execution/processor/codegen/KotlinSymbols.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,23 @@ import com.squareup.kotlinpoet.MemberName
55
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
66

77
internal object KotlinSymbols {
8-
val apolloExecutionPackageName = "com.apollographql.execution"
8+
val executionPackageName = "com.apollographql.execution"
9+
val subgraphPackageName = "com.apollographql.execution.subgraph"
10+
val annotationPackageName = "com.apollographql.execution.annotation"
11+
12+
val apolloExecutionPackageName = "com.apollographql.apollo.execution"
913
val apolloAstPackageName = "com.apollographql.apollo.ast"
1014
val apolloApiPackageName = "com.apollographql.apollo.api"
1115

1216
val ExecutableSchemaBuilder = ClassName(apolloExecutionPackageName, "ExecutableSchema", "Builder")
1317
val Resolver = ClassName(apolloExecutionPackageName, "Resolver")
1418
val ResolveInfo = ClassName(apolloExecutionPackageName, "ResolveInfo")
1519
val Coercing = ClassName(apolloExecutionPackageName, "Coercing")
20+
21+
val GraphQLQuery = ClassName(annotationPackageName, "GraphQLQuery")
22+
val GraphQLMutation = ClassName(annotationPackageName, "GraphQLMutation")
23+
val GraphQLSubscription = ClassName(annotationPackageName, "GraphQLSubscription")
24+
1625
val AstDocument = ClassName(apolloAstPackageName, "GQLDocument")
1726
val AstScalarTypeDefinition = ClassName(apolloAstPackageName, "GQLScalarTypeDefinition")
1827
val AstEnumTypeDefinition = ClassName(apolloAstPackageName, "GQLEnumTypeDefinition")

0 commit comments

Comments
 (0)