我的 apollo 任务之一出现编译错误,因为 Android Studio 尝试根据给定模式生成类。
我在我的解决方案中引用了两个服务/端点:公共和私有。它们在我的 app/gradle.build 中定义如下:
apollo {
graphqlSourceDirectorySet.srcDirs += "./src/main/graphql"
service("private") {
sourceFolder = "./com/myapp/privateGQL"
schemaPath = "./com/myapp/privateGQL/schema.json"
}
service("public") {
sourceFolder = "./com/myapp/publicGQL"
schemaPath = "./com/myapp/publicGQL/schema.json"
}
generateKotlinModels = true
customTypeMapping = [
"URL" : "java.lang.String",
"Date" : "java.util.Date"
]
}
在 privateGQL 目录中,我有一个查询 GetBusinessQuery.graphql。
在 publicGQL 目录中,我有一个突变 TokenGetOrCreate.graphql,它有一个自定义输入参数 TokenGetOrCreateInput。
问题是“generateDebugPrivateApolloSources”,失败并出现以下错误:
无法解析 GraphQL 文件。未知变量类型“TokenGetOrCreateInput!”
TokenGetOrCreateInput 类型是在 publicGQL/schema.json 中定义的,但由于某种原因,“私有”任务集也需要这种类型的定义,当然,privateGQL/schema.json 不包含该类型。
如何将 publicGQL/*.graphql 文件排除在私有服务的编译任务中,反之亦然?