Как загрузить схему apollo с помощью типа gradle:exec

Я хочу знать, как выполнить команду «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
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
2 407
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема 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, иначе будет выдана ошибка.

Другие вопросы по теме