gradle - 如何将带有参数的现有 Gradle 任务包装到自定义任务中?

标签 gradle groovy

我正在尝试创建一个自定义 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?
}

相关

最佳答案

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")
}

关于gradle - 如何将带有参数的现有 Gradle 任务包装到自定义任务中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60190013/

相关文章:

grails - 在Grails中创建动态变量名称

java - 在 groovy bean 中注入(inject) Spring bean

java - 如何模拟 Groovy 中 Traits 提供的方法/函数

gradle - 跳过任务,因为它没有源文件

android - 如何修复 Android Studio 中的 INSTALL_FAILED_INVALID_APK 错误?

gradle - 如何将 "Cannot assign ' String' 解析为 'Publication'“IntelliJ 中的 Gradle 错误?

android - 无法使用 “google-play-services”编译我的Android应用

grails - 无法将 java jar 文件导入 STS Grails 项目

android - 是否可以添加一个外部维护的项目库而不进行复制?

android - Gradle 构建工具找不到 play-services-tasks.aar?为什么?