Я хочу знать, как выполнить команду «apollo schema:download» в gradle, чтобы мне не приходилось генерировать схему через командную строку каждый раз, когда она обновлялась.
Я искал по всему stackoverflow что-то подобное, и, похоже, ничего не нашел. Это то, что я убежал далеко:
//this will list all the files in my directory -- this works
task createSchema(type:Exec){
commandLine 'ls'
}
//but what i want to do is this -- this doesn't work
task createSchema(type:Exec){
commandLine 'apollo schema:download src/main/graphql/schema.json --endpoint = "http://myendpoint.com" --header = "myHeader: header"'
}
Что я ожидал:
✔ Загрузка проекта Аполлон
✔ Сохранение схемы в src/main/graphql/schema.json
Что я имею:
Cause: error=2, No such file or directory




Проблема github для репозитория android android, объясняющая мою проблему: https://github.com/apollographql/apollo-android/issues/683
Как я это решил:
import com.apollographql.apollo.gradle.ApolloSchemaIntrospectionTask
class ApolloIntrospect extends ApolloSchemaIntrospectionTask {}
task introspectSchema(type: ApolloIntrospect) {
url = "http://api.githunt.com/graphql"
output = project.projectDir.absolutePath + 'schema.json'
}
Схема не должна присутствовать в каталоге src/main/graphql, иначе будет выдана ошибка.