Reputation: 309
I'm trying to connect Android app with GraphQL using Apollo code generation. I'm getting this type of error:
ERROR: Value 'main GraphQL source' specified for property '$1' cannot be converted to a file.
I made lot of tutorials on medium, used github instructions but none of them didn't help me. To generate schema.json I used apollo and also deprecated apollo-codegen.
Project-level gradle dependecies:
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'
classpath 'com.apollographql.apollo:gradle-plugin:0.4.1'
}
On app-gradle I added one line:
apply plugin: 'com.apollographql.android'
I also created a folder 'graphql' in my main folder, and I put getPosts.graphql file:
query allPostsQuery{
findAllUsers{
username
email
}
}
Then I'm generated schema.json using (a part with my query):
{
"kind": "OBJECT",
"name": "Query",
"description": "",
"fields": [
{
"name": "findAllUsers",
"description": "",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "LIST",
"name": null,
"ofType": {
"kind": "OBJECT",
"name": "User",
"ofType": null
}
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "findUser",
"description": "",
"args": [
{
"name": "username",
"description": "",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
"name": "String",
"ofType": null
}
},
"defaultValue": null
}
],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "OBJECT",
"name": "User",
"ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
}
],
"inputFields": null,
"interfaces": [],
"enumValues": null,
"possibleTypes": null
},
Schema-generation:
apollo-codegen introspect-schema http://localhost:1100/graphql --output schema.json
Upvotes: 7
Views: 3527
Reputation: 20140
I tried what Sneha suggested, that's working fine for me.
If you don't want to downgrade Android Gradle plugin
and Gradle
version you can change
classpath 'com.apollographql.apollo:gradle-plugin:0.4.1'
to
classpath 'com.apollographql.apollo:apollo-gradle-plugin:1.0.0'
in your project level build.gradle
file.
Also please update apollo-runtime
and apollo android support library
to latest version in your build.gradle
file of app module.
implementation 'com.apollographql.apollo:apollo-runtime:1.0.0'
implementation "com.apollographql.apollo:apollo-android-support:1.0.0"
Hopefully this will resolve your issue, let me know if you've any issue further.
Upvotes: 5
Reputation: 21
In Project structure(File -> Project Structure -> Project) change your Gradle plugin version to 3.3.2 and Gradle version to 4.10.1.
if it still didn't work, change the Gradle versions to the older.
Hope it will works. Worked the same for me.
Upvotes: 2