相关疑难解决方法(0)

Gradle 相关任务不会将命令行选项传递给父任务

我正在编写一个自定义 Gradle 任务,它接受来自命令行的选项。该部分按预期工作。导致我出现问题的是,调用依赖任务时,命令行选项被拒绝,因为它与依赖任务无关。这是演示该问题的示例:

class CustomTask extends DefaultTask {
    @Option(option = "stuff", description = "Custom task stuff")
    String stuff

    @TaskAction
    void action() {
        if (this.stuff?.trim()) {
            println this.stuff
        }
        else {
            throw new InvalidUserDataException("No stuff!")
        }
    }
}

task custom(type: CustomTask)

task depends(dependsOn: 'custom')
Run Code Online (Sandbox Code Playgroud)

以下是路径:

  1. gradle custom正确抛出异常
  2. gradle custom --stuff=mystuffmystuff任务运行时发出。
  3. gradle depends正确抛出相同的异常
  4. gradle depends --stuff=mystuff失败了Unknown command-line option '--stuff'

调用任务时如何使命令行选项--stuff传递到任务?customdepends

groovy gradle build.gradle

4
推荐指数
1
解决办法
648
查看次数

标签 统计

build.gradle ×1

gradle ×1

groovy ×1