Как обернуть существующую задачу Gradle с параметрами в пользовательскую задачу?

Я пытаюсь создать пользовательскую задачу Gradle, которая вызывает существующую задачу Gradle с параметрами, специфичными для моего проекта. Вот как я вызываю задачу из командной строки:

./gradlew downloadJson 
    -Pendpoint=http://example.com/foo 
    -Pdestination=src/main/com/example/foo.json

Я хотел бы создать задачу downloadFoo которую я могу вызывать без явного указания параметров.

tasks.register("downloadFoo" /* type needed? */) {
    // What goes here?
}

Связанный

Всего 1 ответ


В Gradle нет реальной концепции задач, охватывающих другие задачи ...

В этой ситуации вы можете просто создать новую задачу типа ApolloDownloadSchemaTask , а затем установить свойства:

import com.apollographql.apollo.gradle.internal.ApolloDownloadSchemaTask

tasks.register("downloadFoo", ApolloDownloadSchemaTask) { task ->
    description("Downloads foo.")
    group("Apollo")
    task.schemaFilePath.set("src/main/com/example/foo.json")
    task.endpointUrl.set("http://example.com/foo")
}

Есть идеи?

10000